「java创建一个窗口面板」java创建一个窗口面板怎么设置

博主:adminadmin 2023-01-17 16:51:11 296

今天给各位分享java创建一个窗口面板的知识,其中也会对java创建一个窗口面板怎么设置进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何实现自定义窗口

用jframe试试,可以自定义窗口,并设置布局类型,然后用图片控件设置背景图或在界面放置图片,有自适应界面的方法

用java怎么编出下面的窗口界面?急啊,谢谢了

首先注意到没有最大化和最小化,那么是个JDialog.

左上角图标换了,用JDialog的setIconImage方法来设置。

内部上面定高,下面填满高。用BorderLayout,上JPanel,下JPanel

上JPanel竖排,用BoxLayout,里面两个JPanel

两个JPanel设置边框,用TitledBorder.然后显然是GridLayout.每个里面JPanel

每个JPanel输入部分定宽,左边拉伸,用BorderLayout,右为JTextField或者JComboBox,左JLabel

下JPanel设置边框,用TitledBorder.内部是JScrollPane套一个JTable,不是什么Excel,另外JTable是极度复杂极度强大的,多花点时间学它的源代码比较好

-----------------觉得有点复杂,你初学的话可能搞不定,试着帮你写了一个,尽量看懂吧--------

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.BorderFactory;

import javax.swing.BoxLayout;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JComponent;

import javax.swing.JDialog;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.UIManager;

import javax.swing.WindowConstants;

import javax.swing.event.DocumentEvent;

import javax.swing.event.DocumentListener;

class Test {

private static JDialog window;

private static JTextField s1;

private static JTextField s2;

private static JComboBox s3;

private static JComboBox s4;

private static JComboBox s5;

private static JComboBox s6;

private static JComboBox s7;

private static JComboBox c1;

private static JComboBox c2;

private static JComboBox c3;

private static JComboBox c4;

private static JComboBox c5;

private static JPanel tableRstContainer;

private static final int LINE_HEIGHT = 22;

private static void searchAction() {

JOptionPane.showMessageDialog(window, "自己根据s1-s7和c1-c5生成data");

Object[][] data = new Object[][] {

new Object[] {"编码1", "曲名1"},

new Object[] {"编码2", "曲名2"},

new Object[] {"编码2", "曲名2"},

new Object[] {"编码2", "曲名2"},

new Object[] {"编码2", "曲名2"},

new Object[] {"编码2", "曲名2"},

new Object[] {"编码2", "曲名2"},

new Object[] {"编码2", "曲名2"},

};

JTable tableRst = new JTable(data, new String[] {"编码", "曲名"});

tableRstContainer.removeAll();

tableRstContainer.add(new JScrollPane(tableRst));

tableRstContainer.validate();

tableRstContainer.revalidate();

tableRstContainer.repaint();

}

private static void resetAction() {

JOptionPane.showMessageDialog(window, "自己写Reset吧");

}

private static void fixSize(JComponent component, int w, int h) {

Dimension size = new Dimension(w, h);

component.setMaximumSize(size);

component.setMinimumSize(size);

component.setPreferredSize(size);

component.setSize(size);

}

private static JComponent addInput(String title, JComponent component, int widthL, int widthC, boolean isTF) {

JPanel pane = new JPanel(new BorderLayout());

fixSize(component, widthC, LINE_HEIGHT);

pane.add(component, BorderLayout.CENTER);

JLabel label = new JLabel(title);

fixSize(label, widthL, LINE_HEIGHT);

pane.add(label, BorderLayout.WEST);

pane.add(component, BorderLayout.CENTER);

pane.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));

if (isTF) {

((JTextField) component).getDocument().addDocumentListener(new DocumentListener() {

@Override

public void changedUpdate(DocumentEvent e) {

searchAction();

}

@Override

public void insertUpdate(DocumentEvent e) {

searchAction();

}

@Override

public void removeUpdate(DocumentEvent e) {

searchAction();

}

});

} else {

((JComboBox) component).addItemListener(new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

if (e.getStateChange() == ItemEvent.SELECTED) {

searchAction();

}

}

});

}

return pane;

}

public static void main() {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (Throwable e) {

}

window = new JDialog((Frame) null, "CD查询");

s1 = new JTextField();

s2 = new JTextField();

s3 = new JComboBox(new String[] {"A", "B"});

s4 = new JComboBox(new String[] {"A", "B"});

s5 = new JComboBox(new String[] {"A", "B"});

s6 = new JComboBox(new String[] {"A", "B"});

s7 = new JComboBox(new String[] {"A", "B"});

c1 = new JComboBox(new String[] {"A", "B"});

c2 = new JComboBox(new String[] {"A", "B"});

c3 = new JComboBox(new String[] {"A", "B"});

c4 = new JComboBox(new String[] {"A", "B"});

c5 = new JComboBox(new String[] {"A", "B"});

c1.addItemListener(new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

if (e.getStateChange() == ItemEvent.SELECTED) {

Object item = e.getItem();

JOptionPane.showMessageDialog(window, "根据" + item + "来设置c2");

}

}

});

c2.addItemListener(new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

if (e.getStateChange() == ItemEvent.SELECTED) {

Object item = e.getItem();

JOptionPane.showMessageDialog(window, "根据" + item + "来设置c3");

}

}

});

window.setIconImage(Toolkit.getDefaultToolkit().getImage("F:\\DRARING\\face\\MSN1.gif"));

window.setLayout(new BorderLayout()); {

JPanel paneLoc = new JPanel(null);

paneLoc.setLayout(new BoxLayout(paneLoc, BoxLayout.Y_AXIS)); {

JPanel paneSub = new JPanel(new GridLayout(2, 4));

paneSub.setBorder(BorderFactory.createTitledBorder("属性"));

paneSub.add(addInput("编码", s1, 50, 70, true));

paneSub.add(addInput("编2", s2, 50, 70, true));

paneSub.add(addInput("编3", s3, 50, 70, false));

paneSub.add(addInput("编4", s4, 50, 70, false));

paneSub.add(addInput("编5", s5, 50, 70, false));

paneSub.add(addInput("编6", s6, 50, 70, false));

paneSub.add(addInput("编7", s7, 50, 70, false));

paneLoc.add(paneSub);

} {

JPanel paneSub = new JPanel(new GridLayout(2, 3));

paneSub.setBorder(BorderFactory.createTitledBorder("分类"));

paneSub.add(addInput("一级分类", c1, 50, 110, false));

paneSub.add(addInput("一级分2", c2, 50, 110, false));

paneSub.add(addInput("一级分3", c3, 50, 110, false));

paneSub.add(addInput("一级分4", c4, 50, 110, false));

paneSub.add(addInput("一级分5", c5, 50, 110, false));

JPanel paneReset = new JPanel(new FlowLayout(FlowLayout.LEADING, 2, 0));

JButton btnReset = new JButton("重置");

btnReset.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

resetAction();

}

});

paneReset.add(btnReset);

paneSub.add(paneReset);

paneLoc.add(paneSub);

}

window.add(paneLoc, BorderLayout.NORTH);

} {

tableRstContainer = new JPanel();

tableRstContainer.setBorder(BorderFactory.createTitledBorder("关联CD"));

window.add(tableRstContainer, BorderLayout.CENTER);

}

window.pack();

window.setSize(new Dimension(window.getWidth(), window.getHeight() + 150));

window.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

window.setLocationRelativeTo(null);

window.setVisible(true);

}

}

用Java语言设计一个界面,

首先:采用什么技术实现

java语言可以使用awt 和swing等技术实现图形界面

推荐使用Swing,因为Swing比AWT更专业,更漂亮,组件更丰富,功能更强大。

2.   其次:分析采用什么布局

边界布局BorderLayout,配合表格布局GridLayout,既简单又美观

3.   最后:分析需求中需要用的组件

学生姓名 学号  显示信息 需要用到文本框JTextField

单选按钮 需要用到组件 JRadioButton

复选框    需要用到组件 JCheckBox

组合框    需要用到组件 JComboBox

图片效果

参考代码如下

//导入所需要的包

import java.awt.event.*;

import javax.swing.border.*;

import javax.swing.*;

import java.awt.*;

public class ClassFrame extends JFrame {// 写一个类继承自JFrame 窗体

// 定义组件

private static final long serialVersionUID = 1L;

private JPanel contentPane;

private JTextField tfName, tfNum, allInfo;

private JRadioButton rb1, rb2;

private JCheckBox cb1, cb2, cb3;

private JComboBoxString t1, t2, t3;

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

ClassFrame frame = new ClassFrame();// 创建一个窗口实例

frame.setVisible(true);// 让该窗口实例可见

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

 * 窗口属性的设置,内部组件的初始化

 */

public ClassFrame() {

setTitle("选课ing...");//标题

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置关闭是退出JVM

setSize(450, 339);// 设置窗体大小

setLocationRelativeTo(null);// 窗体居中

contentPane = new JPanel();// 内容面板

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

contentPane.setLayout(new BorderLayout(0, 0));// 设置布局

setContentPane(contentPane);

JPanel panel = new JPanel(new GridLayout(5, 1, 5, 10));//5行1列的表格布局

panel.setBorder(new TitledBorder(null, "", TitledBorder.LEADING, TitledBorder.TOP, null, null));

contentPane.add(panel, BorderLayout.CENTER);//给panel添加边框

JPanel panel_1 = new JPanel();

panel.add(panel_1);

JLabel label = new JLabel("姓名");

panel_1.add(label);

tfName = new JTextField();

panel_1.add(tfName);

tfName.setColumns(10);

JLabel label_2 = new JLabel("学号");

panel_1.add(label_2);

tfNum = new JTextField();

tfNum.setColumns(10);

panel_1.add(tfNum);

rb1 = new JRadioButton("男");

panel_1.add(rb1);

rb1.setSelected(true);//设置单选按钮中,默认选择的按钮

rb2 = new JRadioButton("女");

panel_1.add(rb2);

ButtonGroup bts = new ButtonGroup();//单选按钮需要加入同一个ButonGroup中才能生效

bts.add(rb1);

bts.add(rb2);

JPanel panel_2 = new JPanel();

panel.add(panel_2);

cb1 = new JCheckBox("高等数学");

panel_2.add(cb1);

t1 = new JComboBoxString();

t1.setModel(new DefaultComboBoxModelString(new String[] { "林老师", "赵老师", "孙老师" }));

panel_2.add(t1);

JPanel panel_3 = new JPanel();

panel.add(panel_3);

cb2 = new JCheckBox("世界经济");

panel_3.add(cb2);

t2 = new JComboBoxString();

t2.setModel(new DefaultComboBoxModelString(new String[] { "张老师", "刘老师" }));

panel_3.add(t2);

JPanel panel_4 = new JPanel();

panel.add(panel_4);

cb3 = new JCheckBox("音乐赏析");

panel_4.add(cb3);

t3 = new JComboBoxString();

t3.setModel(new DefaultComboBoxModelString(new String[] { "王老师", "周老师" }));

panel_4.add(t3);

JPanel panel_5 = new JPanel();

panel.add(panel_5);

JButton jbOk = new JButton("确定");

panel_5.add(jbOk);

JButton jbRest = new JButton("重填");

panel_5.add(jbRest);

JPanel panelSouth = new JPanel();

contentPane.add(panelSouth, BorderLayout.SOUTH);

JLabel labe = new JLabel("选课信息");

labe.setHorizontalAlignment(SwingConstants.LEFT);

panelSouth.add(labe);

allInfo = new JTextField();

allInfo.setColumns(30);

panelSouth.add(allInfo);

JPanel panelNorth = new JPanel();

contentPane.add(panelNorth, BorderLayout.NORTH);

JLabel labelTitle = new JLabel("学生选课界面");

labelTitle.setForeground(Color.DARK_GRAY);

labelTitle.setFont(new Font("宋体", Font.BOLD, 20));

panelNorth.add(labelTitle);

//给确定按钮添加事件处理代码

jbOk.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

StringBuilder info = new StringBuilder();

String name = tfName.getText();

String num = tfNum.getText();

String sex;

if (rb1.isSelected()) {

sex = "男";

} else {

sex = "女";

}

info.append(name + num + sex);

if (cb1.isSelected()) {

String c = cb1.getText();

String t = t1.getSelectedItem().toString();

info.append(" " + c + t);

}

if (cb2.isSelected()) {

String c = cb2.getText();

String t = t2.getSelectedItem().toString();

info.append(" " + c + t);

}

if (cb3.isSelected()) {

String c = cb3.getText();

String t = t3.getSelectedItem().toString();

info.append(" " + c + t);

}

allInfo.setText(info.toString());//把学生信息和选课信息放到文本框

}

});

//给重填按钮 设置事件处理代码

jbRest.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

tfName.setText("");

tfNum.setText("");

rb1.setSelected(true);

cb1.setSelected(false);

t1.setSelectedIndex(0);

cb2.setSelected(false);

t2.setSelectedIndex(0);

cb3.setSelected(false);

t3.setSelectedIndex(0);

allInfo.setText("");

}

});

}

}

利用Java,创建一窗口,并为该窗口创建“操作”菜单,为该菜单添加“注册”、“登录”、“?

package com.homework;

import java.awt.BorderLayout;

public class UI extends JFrame {

private JPanel contentPane;

private URL bg=this.getClass().getResource("/img/bg.png");

private ImageIcon bg1=new ImageIcon(bg) {

};

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

UI frame = new UI();

frame.setTitle("作业e799bee5baa6e79fa5e98193e58685e5aeb931333361303634");

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public UI() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 300, 300);

JMenuBar menuBar = new JMenuBar();

setJMenuBar(menuBar);

JMenu mnMenu = new JMenu("menu");

menuBar.add(mnMenu);

JMenuItem mntmItem = new JMenuItem("item");

mnMenu.add(mntmItem);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

JLabel lblBackground = new JLabel("");

lblBackground.setIcon(bg1);

lblBackground.setBounds(0, 0, 284, 259);

contentPane.add(lblBackground);

}

}

用java创建显示一个窗口,按表格布局(5,1)加入五个按钮单击一一个按钮显示一种

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

/**

 * JButton 布局与动作演示

 * @author HARDNEEDL

 */

final class ButtonsDemo extends JFrame{

    final static private Dimension SIZE = new Dimension(800,600);

    public String getTitle() {return "ButtonsDemo";}

    public Dimension getPreferredSize() {return SIZE;}

    public Dimension getMinimumSize() {return SIZE;}

    public Dimension getMaximumSize() {return SIZE;}

    public Dimension getSize() {return SIZE;}

    ButtonsDemo() throws HeadlessException {

        init();

        attachListeners();

        doLay();

        setVisible(true);

    }

    private void init(){

    }

    private void attachListeners(){

        addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {

                System.exit(1);

            }

        });

    }

    private void doLay(){

        setLayout(new GridLayout(5,1,4,4));

        Container container = getContentPane();

        for (int i = 0; i  5; i++)

            container.add(new JButton(new ButtonAction(i)));

        pack();

    }

    private class ButtonAction extends AbstractAction{

        public ButtonAction(int i) {

            super(Integer.toString(i));

        }

        public void actionPerformed(ActionEvent e) {

            Component c = (Component) e.getSource();

            JOptionPane.showMessageDialog(c, e);

        }

    }

    public static void main(String... args) {

        System.setProperty("swing.defaultlaf","com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

        SwingUtilities.invokeLater(ButtonsDemo::new);

    }

}

JAVA图形界面编程建立一个窗口,界面运行效果当单击四个按钮时分别在上面的文本框中显示当前的选项!

import com.ms.wfc.app.*;

import com.ms.wfc.core.*;

import com.ms.wfc.ui.*;

import com.ms.wfc.html.*;

import java.util.Date;

public class Form1 extends Form

{

Date today=new Date();

String []day={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

public Form1()

{

// Required for Visual J++ Form Designer support

initForm();

// TODO: Add any constructor code after initForm call

}

public void dispose()

{

super.dispose();

components.dispose();

}

private void button1_click(Object source, Event e)

{

edit1.setText(String.valueOf(today.getYear()+1900)+"年");

}

private void button2_click(Object source, Event e)

{

edit2.setText(String.valueOf(today.getMonth()+1)+"月");

}

private void button3_click(Object source, Event e)

{

edit3.setText(day[today.getDay()]);

}

private void button4_click(Object source, Event e)

{

edit4.setText(String.valueOf(today.getDate())+"日");

}

Container components = new Container();

Edit edit1 = new Edit();

Edit edit2 = new Edit();

Edit edit3 = new Edit();

Edit edit4 = new Edit();

Button button1 = new Button();

Button button2 = new Button();

Button button3 = new Button();

Button button4 = new Button();

private void initForm()

{

this.setText("显示时间");

this.setAutoScaleBaseSize(new Point(6, 12));

this.setClientSize(new Point(463, 158));

this.setStartPosition(FormStartPosition.CENTER_SCREEN);

edit1.setLocation(new Point(40, 48));

edit1.setSize(new Point(88, 19));

edit1.setTabIndex(3);

edit1.setText("");

edit2.setLocation(new Point(136, 48));

edit2.setSize(new Point(88, 19));

edit2.setTabIndex(2);

edit2.setText("");

edit3.setLocation(new Point(232, 48));

edit3.setSize(new Point(88, 19));

edit3.setTabIndex(1);

edit3.setText("");

edit4.setLocation(new Point(328, 48));

edit4.setSize(new Point(88, 19));

edit4.setTabIndex(0);

edit4.setText("");

button1.setLocation(new Point(40, 80));

button1.setSize(new Point(88, 24));

button1.setTabIndex(7);

button1.setText("年份");

button1.addOnClick(new EventHandler(this.button1_click));

button2.setLocation(new Point(136, 80));

button2.setSize(new Point(88, 24));

button2.setTabIndex(6);

button2.setText("月份");

button2.addOnClick(new EventHandler(this.button2_click));

button3.setLocation(new Point(232, 80));

button3.setSize(new Point(88, 24));

button3.setTabIndex(5);

button3.setText("星期");

button3.addOnClick(new EventHandler(this.button3_click));

button4.setLocation(new Point(328, 80));

button4.setSize(new Point(88, 24));

button4.setTabIndex(4);

button4.setText("日期");

button4.addOnClick(new EventHandler(this.button4_click));

this.setNewControls(new Control[] {

button4,

button3,

button2,

button1,

edit4,

edit3,

edit2,

edit1});

}

public static void main(String args[])

{

Application.run(new Form1());

}

}

关于java创建一个窗口面板和java创建一个窗口面板怎么设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。