Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向JPanel添加标签并添加Eclipse中不建议的方法_Java_Eclipse_Swing_Jpanel_Jlabel - Fatal编程技术网

Java 向JPanel添加标签并添加Eclipse中不建议的方法

Java 向JPanel添加标签并添加Eclipse中不建议的方法,java,eclipse,swing,jpanel,jlabel,Java,Eclipse,Swing,Jpanel,Jlabel,这似乎是一个非常新的问题,但我似乎找不到这种情况的答案。 教程说在JPanel中有一个add()方法,但我无法在代码中实现它 public class JPanelTest extends AbstractView { private final JPanel panel; public JPanelTest () { this.panel = new JPanel(new BorderLayout()); } private void initComponents() {

这似乎是一个非常新的问题,但我似乎找不到这种情况的答案。 教程说在
JPanel
中有一个
add()
方法,但我无法在代码中实现它

public class JPanelTest extends AbstractView {
   private final JPanel panel;

 public JPanelTest () {
   this.panel = new JPanel(new BorderLayout());
 }

 private void initComponents() {
   JLabel label = new JLabel("label testing ");
   this.panel.add(label);
 }
}
AbstractView
是一个抽象类,它扩展了
JPanel
,并实现了
ViewSupport
PropertyChangeListener

在代码的最后一行
this.panel.add(label)给出了一个编译错误。
我没有看到Eclipse中建议的
Panel.add()
。 建议的添加相关方法有
addAncestorListener
addNotify
addvetoablechangestener

我怎么能在建议框中看不到简单的add方法? 我正在使用Eclipse的1.6编译级别。那会有区别吗


提前谢谢

你从哪里得到AbstractView的?它不是一个内置的

基于您的类名,您可能希望扩展
JPanel
,而不是
AbstractView

public class JPanelTest extends JPanel {

你从哪里得到AbstractView的?它不是一个内置的

基于您的类名,您可能希望扩展
JPanel
,而不是
AbstractView

public class JPanelTest extends JPanel {

您创建了JPanel面板,但没有添加任何内容。是的,它正在接收JLabel,但是由于JLabel和panel JPanel都没有添加到主GUI窗口(JFrame?)显示的任何内容中,因此没有显示任何内容

解决方案:将panel JPanel或JLabel本身添加到
这个
对象(有望添加到顶层窗口/JFrame)

因此,要么:

private void initComponents() {
   JLabel label = new JLabel("label testing ");
   this.panel.add(label);
   this.add(panel);
}


您创建了JPanel面板,但没有添加任何内容。是的,它正在接收JLabel,但是由于JLabel和panel JPanel都没有添加到主GUI窗口(JFrame?)显示的任何内容中,因此没有显示任何内容

解决方案:将panel JPanel或JLabel本身添加到
这个
对象(有望添加到顶层窗口/JFrame)

因此,要么:

private void initComponents() {
   JLabel label = new JLabel("label testing ");
   this.panel.add(label);
   this.add(panel);
}


你从哪里得到AbstractView的?它不是Java SDK的内置版本。您从哪里获得AbstractView的?它不是Java SDK的内置版本。谢谢。这并不是关于未能在GUI上显示它,而是关于为什么我会出现编译错误,而eclipse不建议使用简单的add方法。我复制了你的代码并粘贴了它,编译错误消失了。在Eclipse中这样做似乎很奇怪。@在youngChoung中:您有自己的名为
JPanel
的类吗?如果是这样的话,你会让编译器(和你自己)感到困惑。@In youngChoung:如果你的问题是关于编译错误的(很抱歉没有仔细查看),那么一定要发布完整的错误信息,而不仅仅是对它的解释。是的,你是正确的。然而,在键入和查看未包含简单add方法的建议方法框时,更多的是编译错误。一旦我复制了你的代码并粘贴了,它看起来还可以(没有编译错误)。我想知道为什么有时候eclipse在建议框中没有包含某些方法。谢谢。这并不是关于未能在GUI上显示它,而是关于为什么我会出现编译错误,而eclipse不建议使用简单的add方法。我复制了你的代码并粘贴了它,编译错误消失了。在Eclipse中这样做似乎很奇怪。@在youngChoung中:您有自己的名为
JPanel
的类吗?如果是这样的话,你会让编译器(和你自己)感到困惑。@In youngChoung:如果你的问题是关于编译错误的(很抱歉没有仔细查看),那么一定要发布完整的错误信息,而不仅仅是对它的解释。是的,你是正确的。然而,在键入和查看未包含简单add方法的建议方法框时,更多的是编译错误。一旦我复制了你的代码并粘贴了它,它看起来还可以(没有编译错误)。我想知道为什么有时候eclipse在建议框中没有包含某些方法。