2 luyuxianseng luyuxianseng 于 2016.04.10 16:59 提问

关于java swing 为什么界面空白

package com.bbm.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.HeadlessException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;

public class BookBorrow extends JFrame {

private static final long serivaVersionUID = 1L;
private JPanel readerborrow_infoJP,bookborrowJP,buttonJP,readerinfoJP,reader_resultJP;
private JScrollPane jscrollPane;
private JTable jtable;
private JLabel readeridJL,readernameJL,readertypeJL,ISBNJL,booktypeJL,booknameJL,authorJL,publishJL,publishdateJL,printtimeJL,unitpriceJL,nowdateJL,operatorJL;
private JTextField readeridJTF,readernameJTF,readertypeJTF,ISBNJTF,booktypeJTF,booknameJTF,authorJTF,publishJTF,publishdateJTF,printtimeJTF,unitpriceJTF,nowdateJTF,operatorJTF;
private JButton borrowJB,closeJB;

public BookBorrow(){
    setBounds(200,200,700,700);
    setTitle("图书借阅");
    readerborrow_infoJP = new JPanel(new BorderLayout());
    TitledBorder tb1 = new TitledBorder("读者借阅信息");
    readerborrow_infoJP.setBorder(tb1);
    readerinfoJP = new JPanel();
    readeridJL = new JLabel("读者编号:");
    readeridJL.setHorizontalAlignment(SwingConstants.CENTER);
    readerinfoJP.add(readeridJL);
    readeridJTF = new JTextField();
    readeridJTF.setColumns(10);
    readerinfoJP.add(readeridJTF);
    readernameJL = new JLabel("读者姓名:");
    readernameJL.setHorizontalAlignment(SwingConstants.CENTER);
    readerinfoJP.add(readernameJL);
    readernameJTF = new JTextField();
    readernameJTF.setColumns(10);
    readerinfoJP.add(readernameJTF);
    readertypeJL = new JLabel("读者类别:");
    readertypeJL.setHorizontalAlignment(SwingConstants.CENTER);
    readerinfoJP.add(readertypeJL);
    readertypeJTF = new JTextField();
    readertypeJTF.setColumns(10);
    readerinfoJP.add(readertypeJTF);
    readerborrow_infoJP.add(readerinfoJP,BorderLayout.NORTH);

    reader_resultJP = new JPanel();
    jscrollPane = new JScrollPane();
    jscrollPane.setPreferredSize(new Dimension(400,200));
    jtable = new JTable();
    jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    jscrollPane.setViewportView(jtable);
    reader_resultJP.add(jscrollPane);
    readerborrow_infoJP.add(reader_resultJP,BorderLayout.CENTER);
    this.add(readerborrow_infoJP,BorderLayout.NORTH);

    bookborrowJP = new JPanel();
    TitledBorder tb2 = new TitledBorder("图书借阅");
    bookborrowJP.setBorder(tb2);
    GridLayout gridLayout = new GridLayout(5, 4, 8, 8);
    bookborrowJP.setLayout(getLayout());
    ISBNJL = new JLabel("ISBN:");
    ISBNJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(ISBNJL);
    ISBNJTF = new JTextField();
    bookborrowJP.add(ISBNJTF);
    booktypeJL = new JLabel("类别:");
    booktypeJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(booktypeJL);
    booktypeJTF = new JTextField();
    bookborrowJP.add(booktypeJTF);
    booknameJL = new JLabel("书名:");
    booknameJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(booknameJL);
    booknameJTF = new JTextField();
    bookborrowJP.add(booknameJTF);
    authorJL = new JLabel("作者:");
    authorJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(authorJL);
    authorJTF = new JTextField();
    bookborrowJP.add(authorJTF);
    publishJL = new JLabel("出版社:");
    publishJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(publishJL);
    publishJTF = new JTextField();
    bookborrowJP.add(publishJTF);
    publishdateJL = new JLabel("出版日期:");
    publishdateJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(publishdateJL);
    publishdateJTF = new JTextField();
    bookborrowJP.add(publishdateJTF);
    printtimeJL = new JLabel("印刷次数:");
    printtimeJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(printtimeJL);
    printtimeJTF = new JTextField();
    bookborrowJP.add(printtimeJTF);
    unitpriceJL = new JLabel("单价:");
    unitpriceJL.setHorizontalAlignment(SwingConstants.CENTER);
    unitpriceJTF = new JTextField();
    bookborrowJP.add(unitpriceJTF);
    nowdateJL = new JLabel("当前日期:");
    nowdateJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(nowdateJL);
    nowdateJTF = new JTextField();
    bookborrowJP.add(nowdateJTF);
    operatorJL = new JLabel("操作人员:");
    operatorJL.setHorizontalAlignment(SwingConstants.CENTER);
    bookborrowJP.add(operatorJL);
    operatorJTF = new JTextField();
    bookborrowJP.add(operatorJTF);
    this.add(bookborrowJP,BorderLayout.CENTER);

    buttonJP = new JPanel();
    borrowJB = new JButton("借阅");
    closeJB = new JButton("关闭");
    buttonJP.add(borrowJB);
    buttonJP.add(closeJB);
    this.add(buttonJP,BorderLayout.SOUTH);

    this.setVisible(true);
    this.setResizable(false);
}

public static void main(String[] args) {
    new BookBorrow();

}

}

2个回答

CSDNXIAOD
CSDNXIAOD   2016.04.10 17:12

java swing 登陆界面
java swing 界面风格
java swing 界面开发实战
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

a172586418
a172586418   2016.04.10 21:18

首先,你需要确定,窗体设置Size了么,其次控件都添加到this里面了么。
JProgressBar bar;
JLabel label;
int width,height;
public IndexView()
{
label = new JLabel(new ImageIcon("image/index/index.jpg"));

    bar = new JProgressBar();
    bar.setStringPainted(true);
    bar.setIndeterminate(false);
    bar.setBackground(Color.darkGray);

    this.add(label,BorderLayout.NORTH);
    this.add(bar, BorderLayout.SOUTH);

    this.setSize(400, 263);
    width = Toolkit.getDefaultToolkit().getScreenSize().width;
    height = Toolkit.getDefaultToolkit().getScreenSize().height;
    this.setLocation(width/2-200, height/2-150);

    this.setVisible(true);
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在java swing BoxLayout中创建空白
使用java swing创建空白的一些方法。除了我在代码中提到的内容,你也可以自己尝试使用Box.createRigidArea(Dimension d)的方法。
swing写 paint,后窗口一片空白
我曾将paint(Graphics g) 写为 paintmap(Graphics g,int mapx) 但发现,重写后窗口一片空白后来发现原因是,我重写的paintmap(g,mapx) 先绘图执行,然后系统再调用了paint(g) 绘图,但这个绘图使窗口重绘覆盖了我想要的图,。我的解决方法是重写paint(Graphics g){                               ...
java swing最简单实例(1) 一个空的JFrame
我准备写一个系列的java图形化界面的教程。每个程序都尽量只写维持运行所需的最简化程度的代码,好让大家都看懂。   使用java图形界面只需要jdk,eclipse即可。如果布局抽象能力不够强大,建议装jigloo先用它布局然后再抄代码。(jigloo自动生成的代码冗余量太大,放的位置也不合理,只是为了看效果,之后还是需要ctrl+C,ctrl+V的)   要想放置一切东西,我们需要先有一
Swing中Frame窗口显示dialog窗口再弹出对话框,背景为白色不显示组件解决办法
将Frame上显示Dialog构造函数的parent 变为JDialog或者Dialog package com.test.gui; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import
java Swing多Jpanel动态滑动切换效果
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
Java swing关闭父界面,或者多个界面的解决办法
Java swing关闭父界面,或者多个界面的解决办法转载请注明出处!最近公司在用swing 写一个客户端。我在写的时候,遇到我从上上个界面跳转到本界面,而要关闭之前的界面!简单来说 ,A,B,C三个界面,A-->B-->C, 在开启C界面的时候,关闭A,B界面。类似的问题,均可以使用本方法。解决思路:1. 将A的当前对象,当作参数传递给C2.C 定义一个成员变量接受A对象3. 通过C...
双缓冲原理在awt和swing中实现消除闪烁的方法
对于双缓冲的分析是在坦克大战游戏的设计时开始的,由于当时忙于游戏的整体设计,所以对这一个问题没有进行详细的研究,现在就这个问题来谈谈自己的一些看法。 分析前提出几个问题: 1、为什么当想屏幕上添加图片之后会有明显的闪烁现象? 2、在awt中如何实现双缓冲? 3、如何理解swing内置双缓冲以及比较他与awt中消除闪烁的方法区别在哪里? 首先我们来解答第一个问题: 我们在屏幕上自绘图形或
小demo, java swing窗口编程(JDK 1.6)
//这段代码主要是创建一个登录窗口界面,在这个界面中有文本组件、普通按钮组件、标签组件,它们是按照网格组布局管理方式布局, import javax.swing.*; import java.awt.*; import java.awt.event.*; ///这是一个登录类。设计成一个继承容器的类。 ///WIDTH是指整个顶层框架的宽度。 ///HEIGHT是指整个顶层框架的长度。 cla
Swing做界面还是相对好用。对于界…
感觉Java这点做得非常好,就是把绘图代码跟程序代码结合到一起了。最新的Java 8系列对高DPI支持也非常好,虽然做不到完美展现,不过经过适当的算法调整下屏幕和字体,一样可以轻松做到在15寸的4k屏幕下完美显示。         其实说Java这方面做得好完全得不到赞同。因为现在主流的界面设计是将“界面”与代码分离开,界面用XML编写,而代码用目标编程语言来写。不单单WFP是,GTK+是,连安
JAVA写的仿Ribbon(Win7/Win8)界面的记事本
JAVA写的记事本,界面仿照Win7/Win8的Ribbon界面,实现Windows自带记事本的功能。 注:本程序使用了一个在网上找到的字体选择窗口的类,此类作者和来源已无法找到。