网格包布局不显示任何内容!!JAVA
首先,我环顾了一下stackoverflow,没有发现任何与我的问题相关的东西 我试着使用GridBagLayout,第一次尝试时,它运行正常,但我不知道我做了什么,现在它什么都不显示,你知道mas发生了什么吗 以下是所有代码:网格包布局不显示任何内容!!JAVA,java,swing,gridbaglayout,Java,Swing,Gridbaglayout,首先,我环顾了一下stackoverflow,没有发现任何与我的问题相关的东西 我试着使用GridBagLayout,第一次尝试时,它运行正常,但我不知道我做了什么,现在它什么都不显示,你知道mas发生了什么吗 以下是所有代码: package Instrucciones; import java.awt.*; import javax.swing.*; /** * * @author Antonio */ public class JDialog1TxArea extends JDialo
package Instrucciones;
import java.awt.*;
import javax.swing.*;
/**
*
* @author Antonio
*/
public class JDialog1TxArea extends JDialog {
JPanel panel = new JPanel(); //Contains all objects
JTextArea instruc;
JButton ok;
public JDialog1TxArea(String instrucciones){
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("Instrucciones");
pack();
setSize(450,300);
setLocationRelativeTo(null);
setVisible(true);
JPanel mainpanel = new JPanel();
getContentPane().add(mainpanel);
panel = new JPanel();
panel.setLayout(new GridBagLayout());
mainpanel.add(panel);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.CENTER;
instruc = new JTextArea(instrucciones);
ok = new JButton("Aceptar");
panel.add(instruc, c);
c.gridy++;
panel.add(ok, c);
c.gridy++;
}
public static void main (String args[]){
JDialog1TxArea v = new JDialog1TxArea("Conalep");
}
}
控制台没有任何异常。将
setVisible
移动到构造函数中的最后一行
public JDialog1TxArea(String instrucciones) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("Instrucciones");
// From here
//pack();
//setSize(450, 300);
//setLocationRelativeTo(null);
//setVisible(true);
JPanel mainpanel = new JPanel();
getContentPane().add(mainpanel);
panel = new JPanel();
panel.setLayout(new GridBagLayout());
mainpanel.add(panel);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.CENTER;
instruc = new JTextArea(instrucciones);
ok = new JButton("Aceptar");
panel.add(instruc, c);
c.gridy++;
panel.add(ok, c);
c.gridy++;
// To here
pack();
setLocationRelativeTo(null);
setVisible(true);
}
我不鼓励您从像JDialog
这样的顶级容器进行扩展,而是使用JPanel
作为基本容器来设计UI。然后,您可以使用类似于JOptionPane
的方法将这些内容添加到所需的顶级容器中。有关更多详细信息,请参阅
您可能还想看看,因为您的
JTextArea
将从中受益将setVisible
移动到构造函数中的最后一行
public JDialog1TxArea(String instrucciones) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("Instrucciones");
// From here
//pack();
//setSize(450, 300);
//setLocationRelativeTo(null);
//setVisible(true);
JPanel mainpanel = new JPanel();
getContentPane().add(mainpanel);
panel = new JPanel();
panel.setLayout(new GridBagLayout());
mainpanel.add(panel);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.CENTER;
instruc = new JTextArea(instrucciones);
ok = new JButton("Aceptar");
panel.add(instruc, c);
c.gridy++;
panel.add(ok, c);
c.gridy++;
// To here
pack();
setLocationRelativeTo(null);
setVisible(true);
}
我不鼓励您从像JDialog
这样的顶级容器进行扩展,而是使用JPanel
作为基本容器来设计UI。然后,您可以使用类似于JOptionPane
的方法将这些内容添加到所需的顶级容器中。有关更多详细信息,请参阅
您可能还想看看,因为您的
JTextArea
将从中受益将setVisible
移动到构造函数中的最后一行
public JDialog1TxArea(String instrucciones) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("Instrucciones");
// From here
//pack();
//setSize(450, 300);
//setLocationRelativeTo(null);
//setVisible(true);
JPanel mainpanel = new JPanel();
getContentPane().add(mainpanel);
panel = new JPanel();
panel.setLayout(new GridBagLayout());
mainpanel.add(panel);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.CENTER;
instruc = new JTextArea(instrucciones);
ok = new JButton("Aceptar");
panel.add(instruc, c);
c.gridy++;
panel.add(ok, c);
c.gridy++;
// To here
pack();
setLocationRelativeTo(null);
setVisible(true);
}
我不鼓励您从像JDialog
这样的顶级容器进行扩展,而是使用JPanel
作为基本容器来设计UI。然后,您可以使用类似于JOptionPane
的方法将这些内容添加到所需的顶级容器中。有关更多详细信息,请参阅
您可能还想看看,因为您的
JTextArea
将从中受益将setVisible
移动到构造函数中的最后一行
public JDialog1TxArea(String instrucciones) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("Instrucciones");
// From here
//pack();
//setSize(450, 300);
//setLocationRelativeTo(null);
//setVisible(true);
JPanel mainpanel = new JPanel();
getContentPane().add(mainpanel);
panel = new JPanel();
panel.setLayout(new GridBagLayout());
mainpanel.add(panel);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.CENTER;
instruc = new JTextArea(instrucciones);
ok = new JButton("Aceptar");
panel.add(instruc, c);
c.gridy++;
panel.add(ok, c);
c.gridy++;
// To here
pack();
setLocationRelativeTo(null);
setVisible(true);
}
我不鼓励您从像JDialog
这样的顶级容器进行扩展,而是使用JPanel
作为基本容器来设计UI。然后,您可以使用类似于JOptionPane
的方法将这些内容添加到所需的顶级容器中。有关更多详细信息,请参阅
您可能还想看一看,因为您的
JTextArea
将从中受益为什么要调用pack(),如果还没有要打包的东西?为什么要调用pack(),如果还没有要打包的东西?为什么要调用pack(),如果还没有要打包的东西?为什么要调用pack(),如果还没有要打包的东西呢?老兄,谢谢你的回答,这是我收到的最好的答案之一,也谢谢你提供我认为会收到的额外信息need@MadProgrammer(:我知道你回答了这里的大部分答案,大概两周的假期可以帮你,而且大部分答案现在/将来都没有答案:-)对于pack(),它们是位置的最佳位置,最后一个应该是可见的,请回答,这是我收到过的最好的答案之一,也感谢我确实认为会收到的额外信息need@MadProgrammer (:我知道你回答了这里的大部分答案,大概两周的休息时间可以帮你,而且大部分答案都没有答案:-)和pack(),这是最好的位置,最后一个应该是可见的,请回答,这是我收到过的最好的答案之一,也谢谢你提供的额外信息,我真的认为会need@MadProgrammer (:我知道你回答了这里的大部分答案,大概两周的休息时间可以帮你,而且大部分答案都没有答案:-)和pack(),这是最好的位置,最后一个应该是可见的,请回答,这是我收到过的最好的答案之一,也谢谢你提供的额外信息,我真的认为会need@MadProgrammer (:我知道你回答了这里的大部分答案,大概两周的假期可以帮你,而且大多数答案都是/然后将是没有答案的:-)和pack(),它们是位置的最佳位置,最后一个应该是可见的,请