【发布时间】:2013-01-13 02:14:11
【问题描述】:
JFrame frame = new JFrame("Picture");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
display = new JPanel();
if(event.getSource().equals(birthday)){
background = new JLabel(bday);
display.add(background);
}
else if(event.getSource().equals(cake)){
picture = new JLabel(pastry, SwingConstants.LEFT);
display.add(picture);
}
else if(event.getSource().equals(input)){
word = new JLabel(text);
word.setHorizontalTextPosition(SwingConstants.RIGHT);
word.setVerticalTextPosition(SwingConstants.CENTER);
display.add(word);
}
frame.setPreferredSize (new Dimension(450, 350));
frame.getContentPane().add(display);
frame.pack();
frame.setVisible(true);
这是我的独立类中的 ActionListener 类的一部分。我有一个组合框/卡片布局。因此,当我从一个组合框标签单击一个按钮(蛋糕),从另一个组合框标签单击另一个按钮(生日)时,出现了两个框架。我希望这些东西在同一个框架上,但我不知道该怎么做。
【问题讨论】:
-
这取决于,是什么触发了执行的操作??
-
那么,您只想知道如何在同一个 JPanel 上获得 2 个 JLabel?
-
@MadProgrammer,当您单击一个按钮时,一个 JLabel 应该会在框架(框架 2)中弹出。现在,按钮本身已经包含在一个框架(frame1)中。所以我所做的是在我的独立设备中创建另一个框架。我一直在尝试做的是,当我单击 frame1 上的另一个按钮时,另一个 JLabel 将显示在 frame2 上。但我一直在另一个框架(frame3)上获得该标签。 :(
标签: java swing user-interface layout-manager cardlayout