当前位置:  技术问答>java相关

求救,关于gui

    来源: 互联网  发布时间:2015-06-01

    本文导语:  如下程序,为什么无法显示jlabel 和jbutton, 请指教 package gy; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; /** 超类:JDialog 类名:MessageDialog showMessage()方法显示消息对话框 */ public class Messag...

如下程序,为什么无法显示jlabel 和jbutton,
请指教

package gy;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
超类:JDialog
类名:MessageDialog
showMessage()方法显示消息对话框
*/
public class MessageDialog extends JDialog
{
/**
*type:  = 1 - 确定对话框 
*  = 2 - 确定、取消对话框
* = 3 - input对话框
*/
//private JFrame f1;
Container con;
static final String caption = new String("在此输入:");
JLabel lb1 = new JLabel(caption);
//JLabel lbMessage = null;//要显示的信息
JTextField tEnter = new JTextField();//输入文本框
JButton bOK = new JButton("确定");//确认按钮
JButton bCancel = new JButton("取消");//取消按钮
String retValue;//返回的值
JPanel pan = new JPanel();

MessageDialog(JFrame f,String title)
{
super(f,title);
}

public int showMessage(String message,int type)
{
con = getContentPane();
pan.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH; // components grow in both dimensions
c.insets = new Insets(5,5,5,5);   // 5-pixel margins on all sides
switch(type){
default:
System.out.println("111111111111");
c.gridx = 0; c.gridy = 0; c.gridwidth = 5; c.gridheight=4;
c.weightx = c.weighty = 1.0;
pan.add(new JLabel(message), c);

c.gridx = 3; c.gridy = 7;c.gridwidth = 2; c.gridheight = 1;
pan.add(bOK,c);

break;
}

con.add(pan);
System.out.println("111111111111");
pack();
return 1;
}
 
public static void main(String[] args)
{
JFrame f = new JFrame();
MessageDialog n = new MessageDialog(f,"test");
System.out.println("asdasdasd");
n.showMessage("this is a test message",1);
f.setSize(200,100);
f.show();
}

}

|
你只show了f ,并没有showDialog;
不防在main()中最后加上
n.show();


enjoy

|
public void init(){
  setLayout(new FlowLayout());
  getContentPane().add(lb1);
  getContentPane().add(tEnter);
  getContentPane().add(bOK);
  getContentPane().add(bCancel);
}

MessageDialog(JFrame f,String title)
{
  super(f,title);
  init();
}

|
好象应该有比如这样的东西把你的东西加进去
Pan.add(lb1, null);
..........

|
在java中,你想把控件加入到JPanel或者JFrame中,只实例化控件是不行的,要显视的加入才行。如果dialog窗口出现则应该如hegum所说
 pan.add(lba,null);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • CSS属性参考手册 iis7站长之家
  • 求救求救!!
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 求救!weblogic6.0后台运行正确,前台页面跳转或调用其他页面时出“页面无法显示错误”
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • Linux下无法启动apache 高分求救!在线等待
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 散分一百,紧急求救!ROOT密码忘记


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3