【发布时间】:2014-08-07 12:27:58
【问题描述】:
我正在学校学习创建 GUI。我已经制作了这两个独立的 JPanel。我正在尝试创建一个选项卡式窗格,其中添加了将这些窗格中的每一个都包含在单独的选项卡中。当我打开运行代码时,我得到三个单独的窗口。一个是带有 2 个空白选项卡的窗口。其他 2 个窗口是我希望在每个选项卡内的面板。谁能帮帮我。
package Week4;
import java.awt.*;
import javax.swing.*;
public class TabP2 {
private JFrame ourFrame = new JFrame("Week 4");
private JTabbedPane ourTabbedPane;
private JPanel masterContainer, tab1, tab2;
TabP2(){
masterContainer = (JPanel) ourFrame.getContentPane();
masterContainer.setLayout(new BorderLayout());
ourTabbedPane = new JTabbedPane();
tab1 = new OfficeAreaCalculator();
tab2 = new DayGUI();
ourTabbedPane.addTab("Office Area Calculator", tab1);
ourTabbedPane.addTab("DayGUI", tab2);
masterContainer.add(ourTabbedPane, BorderLayout.CENTER);
ourFrame.pack();
ourFrame.setVisible(true);
ourFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new TabP2();
}
});
}
}
和
package Week4;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.*;
public class DayGUI2 extends JPanel{
private JButton cmdGood;
private JButton cmdBad;
public DayGUI2(){
cmdGood = new JButton("Good");
cmdBad = new JButton("Bad");
setBackground(Color.white);
add(cmdGood);
cmdGood.setBackground(Color.green);
add(cmdBad);
cmdBad.setBackground(Color.red);
cmdGood.setMnemonic('G');
cmdBad.setMnemonic('B');
ButtonsHandler bhandler = new ButtonsHandler();
cmdGood.addActionListener(bhandler);
cmdBad.addActionListener(bhandler);
setVisible(true);
}
class ButtonsHandler implements ActionListener
{
public void actionPerformed(ActionEvent e){
if (e.getSource() == cmdGood)
JOptionPane.showMessageDialog(null, "Today is a good day!",
"Event Handler Message",
JOptionPane.INFORMATION_MESSAGE);
if (e.getSource() == cmdBad)
JOptionPane.showMessageDialog(null, "Today is a bad day!",
"Event Handler Message",
JOptionPane.INFORMATION_MESSAGE);
}
}
public static void main(String[] args) {
}
}
我会添加另一个,但我认为没有必要。它的设置几乎相同。
提前致谢!
【问题讨论】:
-
你有3个WINDOWS?使用最小化、最大化和关闭按钮 ?????????
-
我没有足够的声望来发布截图
-
我得到一个有两个标签的窗口。我得到另一个窗口,其中有 DayGUI 在其中工作,另一个窗口中有 OfficeAreaCalculator。
-
您在哪个 IDE 中进行编程?
-
日食。它是我们必须用于课堂的。我们不能使用类似 netbeans 的东西
标签: java user-interface jpanel jtabbedpane