Swing - 显示空白屏幕的Java程序

时间:2013-12-01 03:51:34

标签: java swing jframe awt

我正在制作一个我妈妈建议的新节目。它应该列出我们拥有的物品和我们需要的物品。现在我只有一个类,窗口创建类,它给了我一个空白的屏幕。我不知道为什么,但我可能错过了一些小小的重要步骤。这是迄今为止的代码:

public class ListerWindow {

static JButton addToOwned = new JButton("Add Item To Owned List");
static JButton removeFromOwned = new JButton("Remove Item From Owned List");
static JButton addToNeeded = new JButton("Add Item To Shopping List");
static JButton removeFromNeeded = new JButton("Remove From Shopping List");
static JTextArea neededList = new JTextArea();
static JTextArea ownedList = new JTextArea();
static JFrame frame = new JFrame("Shopping Lister");

static JLabel ownedListLabel = new JLabel("Owned List");
static JLabel neededListLabel = new JLabel("Shopping List");

public static void ListerWindowCreator(String[] args) {
    JPanel windowContent = new JPanel();
    GridLayout gl = new GridLayout(4,3);
    windowContent.setLayout(gl);

    windowContent.add(ownedListLabel);
    windowContent.add(neededListLabel);
    windowContent.add(ownedList);
    windowContent.add(neededList);
    windowContent.add(addToOwned);
    windowContent.add(addToNeeded);
    windowContent.add(removeFromOwned);
    windowContent.add(removeFromNeeded);

    neededList.setEditable(false);
    ownedList.setEditable(false);
    ownedListLabel.setForeground(Color.BLUE);
    neededListLabel.setForeground(Color.BLUE);
    frame.setBackground(Color.BLACK);
    removeFromNeeded.setForeground(Color.RED);
    removeFromOwned.setForeground(Color.RED);
    addToNeeded.setForeground(Color.GREEN);
    addToOwned.setForeground(Color.GREEN);

    frame.setExtendedState(Frame.MAXIMIZED_BOTH);
    frame.setVisible(true);

    }
public static void main(String[] args) {
    new ListerWindow();
    ListerWindowCreator(args);
}
}

我很确定我已经获得了所有导入功能,到目前为止我已经javax.swing.*java.awt.*

PS:我可以在eclipse中调试,以及如何调试?

2 个答案:

答案 0 :(得分:4)

您需要使用windowContent

添加JFrame
   frame.add(windowContent);

对于JFrame的确切尺寸,您可以使用frame.pack();代替frame.setExtendedState (Frame.MAXIMIZED_BOTH);

答案 1 :(得分:0)

希望这是你想要的

import java.awt.*;
import javax.swing.*;

public class ListerWindow{

    static JButton addToOwned = new JButton("Add Item To Owned List");
    static JButton removeFromOwned = new JButton("Remove Item From Owned List");
    static JButton addToNeeded = new JButton("Add Item To Shopping List");
    static JButton removeFromNeeded = new JButton("Remove From Shopping List");
    static JTextArea neededList = new JTextArea();
    static JTextArea ownedList = new JTextArea();
    static JFrame frame = new JFrame("Shopping Lister");

    static JLabel ownedListLabel = new JLabel("Owned List");
    static JLabel neededListLabel = new JLabel("Shopping List");

    public static void ListerWindowCreator(String[] args) {
        JPanel windowContent = new JPanel();
        GridLayout gl = new GridLayout(4,2);
        windowContent.setLayout(gl);

        windowContent.add(ownedListLabel);
        ownedList.setText("ownedList");
        windowContent.add(ownedList);
        windowContent.add(neededListLabel);
        neededList.setText("NeededList");
        windowContent.add(neededList);
        windowContent.add(addToOwned);
        windowContent.add(addToNeeded);
        windowContent.add(removeFromOwned);
        windowContent.add(removeFromNeeded);

       // neededList.setEditable(false);
       // ownedList.setEditable(false);
        ownedListLabel.setForeground(Color.BLUE);
        neededListLabel.setForeground(Color.BLUE);
        frame.setBackground(Color.BLACK);
        removeFromNeeded.setForeground(Color.RED);
        removeFromOwned.setForeground(Color.RED);
        addToNeeded.setForeground(Color.GREEN);
        addToOwned.setForeground(Color.GREEN);

        frame.setContentPane(windowContent);
        frame.setSize(200,200);
        //frame.setExtendedState(Frame.MAXIMIZED_BOTH);
        frame.setVisible(true);

    }
    public static void main(String[] args) {
        new ListerWindow();
        ListerWindowCreator(args);
    }
}