これが私の問題です。私はちょうど彼女の誕生日のために友人のために素敵な小さなアプリケーションを書こうとしています。問題は、プログラムを実行すると、最初は空白のGUIが表示されることです。しかし、ウィンドウの境界を少しでも調整すると、想定どおりに問題が発生します。
これは、を入れた後にのみ発生しましたJTextArea
。テキストを表示するだけです。テキストの入力には使用されません。私が間違っていることについて何か提案はありますか?私は境界を越えていJFrame
ますか?
助けてくれてありがとう。
import javax.swing.*;
import java.awt.*;
public class Birthday {
private JFrame mainFrame;
private JPanel mainPanel;
private JPanel labelPanel;
private JPanel buttonPanel;
private JButton story;
private JButton misc;
private JButton next;
private JLabel mainLabel;
private JFrame miscFrame;
private JPanel miscPanel;
private JLabel miscLable;
private JTextArea text;
public Birthday(){
gui();
}
public static void main(String [] args){
Birthday b = new Birthday();
}
public void gui(){
mainFrame = new JFrame("The Buttercup Project"); //main window
mainFrame.setVisible(true);
mainFrame.setSize(550,650);
//mainFrame.setResizable(false);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
text = new JTextArea(30,35);
mainPanel = new JPanel(); //displays content in window
mainPanel.setBackground(Color.YELLOW);
mainPanel.setVisible(true);
mainPanel.add(text);
labelPanel = new JPanel();
labelPanel.setVisible(true);
labelPanel.setBackground(Color.LIGHT_GRAY);
buttonPanel = new JPanel();
buttonPanel.setVisible(true);
buttonPanel.setBackground(Color.LIGHT_GRAY);
story = new JButton("Story"); //button
misc = new JButton("?");
next = new JButton ("Next Story");
mainLabel = new JLabel("The Buttercup Project"); //label
labelPanel.add(mainLabel); //adds buttons to panel
buttonPanel.add(story, BorderLayout.CENTER);
buttonPanel.add(misc, BorderLayout.CENTER);
buttonPanel.add(next, BorderLayout.CENTER);
mainFrame.add(labelPanel,BorderLayout.NORTH );
mainFrame.add(buttonPanel, BorderLayout.AFTER_LAST_LINE);
mainFrame.add(mainPanel,BorderLayout.CENTER ); //put panel inside of frame
}
}