JFrameにJLabelを追加する際に問題があります。私はいくつかのチュートリアルで説明したようにJPanelを使用しますが、ラベルはフレームにポップアップしません。 JTextField、JButtonなどの他のスイングコンポーネントで同じ問題が発生します。線、四角形などを描画することはできません。私はここで作っています間違いの種類を、誰かが知っている願っています:JFrameにJLabelを追加する
package plot1;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class Gui extends JFrame {
private JPanel contentPane;
public Gui(){
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
setSize(1200, 600);
setLayout(null);
setLocationRelativeTo(null);
setTitle("Plot");
addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent evnt){
System.exit(0);
}
});
setResizable(false);
JLabel lblStanFunc = new JLabel("Die Funktionssyntax lautet:");
lblStanFunc.setBounds(800, 40, 300, 30);
lblStanFunc.setVisible(true);
add(lblStanFunc);
}
}
メイン・メソッドが別のクラスである:
package plot1;
public class Main {
public static void main(String[] args){
new Gui().setVisible(true);;
}
}
フレームは予想通りポップアップしますが、JLabelのが欠落しています。すべての有益なコメントありがとう。
私はこれを再現できません。私はラベルをよく見ることができます。それはフレームの右上にあります。あなたの画面は、JFrame全体を表示するのに十分な大きさではありませんか? – Sweeper
1)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 2)Java GUIは、異なるロケールで異なるPLAFを使用する異なるOS、画面サイズ、画面解像度などで動作する必要があります。したがって、ピクセルの完全なレイアウトには役立ちません。代わりに、レイアウトマネージャや[それらの組み合わせ](http://stackoverflow.com/a/5630271/418556)と[空白](http://stackoverflow.com/a/17874718/)のレイアウトパディングとボーダーを使用してください。 418556)。 –
'pack'コールが必要な場合があり、SwingのJavaチュートリアルに従ってイベントディスパッチスレッドでGUIを実行する必要があります。 –