首页 > 编程知识 正文

java设置jdialog背景(java jdialog)

时间:2023-11-27 14:11:04 阅读:309491 作者:NJHZ

本文目录一览:

  • 1、java JDialog界面制作
  • 2、java如何改变JDialog的背景颜色?
  • 3、jDialog已添加两个JPanel,如何给jDialog添加背景图片啊,并且JPanel是透明的,求大神!
  • 4、java swing Jpanel 怎么添加一个Jdialog弹出框
  • 5、java jdialog 怎么用
  • 6、java中JDialog的用法?

java JDialog界面制作

/**

*

* @author Administrator

*/

public class JFontChooser extends javax.swing.JDialog {

Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();

String formats[] = new String[]{"无格式", "粗体", "斜体", "粗斜体"};

boolean initFlag = true;

/** Creates new form JFontChooser */

public JFontChooser(java.awt.Frame parent, boolean modal) {

super(parent, modal);

initComponents();

this.jFormattedTextField1.setValue(fonts[0].getSize());

fontNameList.setSelectedIndex(0);

this.jList1.setSelectedIndex(0);

}

private void reSetPreviewValue() {

Font fontTemp = fonts[fontNameList.getSelectedIndex()];

Font font = new Font(fontTemp.getFontName(), this.jList1.getSelectedIndex(), 20);

this.previewLabel.setText(this.fontNameLabel.getText() + " " + this.formatLabel.getText());

previewLabel.setFont(font);

// this.previewLabel.setText("abc");

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// editor-fold defaultstate="collapsed" desc="Generated Code"

private void initComponents() {

java.awt.GridBagConstraints gridBagConstraints;

jPanel1 = new javax.swing.JPanel();

previewLabel = new javax.swing.JLabel();

jPanel3 = new javax.swing.JPanel();

jScrollPane1 = new javax.swing.JScrollPane();

fontNameList = new javax.swing.JList();

fontNameLabel = new javax.swing.JLabel();

fontTitleLabel = new javax.swing.JLabel();

jPanel6 = new javax.swing.JPanel();

formatLabel = new javax.swing.JLabel();

fontformatTitleLabel = new javax.swing.JLabel();

jScrollPane2 = new javax.swing.JScrollPane();

jList1 = new javax.swing.JList(formats);

jPanel5 = new javax.swing.JPanel();

sizeTitleLabel = new javax.swing.JLabel();

jFormattedTextField1 = new javax.swing.JFormattedTextField();

jScrollPane3 = new javax.swing.JScrollPane();

jList2 = new javax.swing.JList();

jPanel4 = new javax.swing.JPanel();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

setTitle("FontChooser");

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("预览"));

jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.LINE_AXIS));

previewLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N

previewLabel.setText("abcdef");

jPanel1.add(previewLabel);

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 190, 150, 50));

jPanel3.setLayout(new java.awt.GridBagLayout());

jScrollPane1.setPreferredSize(new java.awt.Dimension(0, 0));

DefaultListModel model = new DefaultListModel();

for (int i = 0; i fonts.length; i++) {

model.addElement(fonts[i].getFontName());

}

fontNameList.setModel(model);

fontNameList.addListSelectionListener(new javax.swing.event.ListSelectionListener() {

public void valueChanged(javax.swing.event.ListSelectionEvent evt) {

fontNameListValueChanged(evt);

}

});

jScrollPane1.setViewportView(fontNameList);

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 2;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

gridBagConstraints.ipadx = 80;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

gridBagConstraints.weightx = 1.0;

gridBagConstraints.weighty = 1.0;

jPanel3.add(jScrollPane1, gridBagConstraints);

fontNameLabel.setText(" ");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 1;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

jPanel3.add(fontNameLabel, gridBagConstraints);

fontTitleLabel.setText("字体");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 0;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

gridBagConstraints.ipady = 3;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

jPanel3.add(fontTitleLabel, gridBagConstraints);

getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(8, 3, 190, 185));

jPanel6.setLayout(new java.awt.GridBagLayout());

formatLabel.setText(" ");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

jPanel6.add(formatLabel, gridBagConstraints);

fontformatTitleLabel.setText("字体样式");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 1;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

jPanel6.add(fontformatTitleLabel, gridBagConstraints);

jScrollPane2.setPreferredSize(new java.awt.Dimension(24, 24));

jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener() {

public void valueChanged(javax.swing.event.ListSelectionEvent evt) {

jList1ValueChanged(evt);

}

});

jScrollPane2.setViewportView(jList1);

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 2;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

gridBagConstraints.ipadx = 80;

gridBagConstraints.ipady = 135;

jPanel6.add(jScrollPane2, gridBagConstraints);

getContentPane().add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 0, 107, 190));

jPanel5.setLayout(new java.awt.GridBagLayout());

sizeTitleLabel.setText("大小");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 0;

gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;

gridBagConstraints.ipady = 1;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

jPanel5.add(sizeTitleLabel, gridBagConstraints);

jFormattedTextField1.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(java.text.NumberFormat.getIntegerInstance())));

jFormattedTextField1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jFormattedTextField1ActionPerformed(evt);

}

});

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 1;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

gridBagConstraints.ipadx = 34;

gridBagConstraints.ipady = -1;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

jPanel5.add(jFormattedTextField1, gridBagConstraints);

jList2.setModel(new javax.swing.AbstractListModel() {

String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };

public int getSize() { return strings.length; }

public Object getElementAt(int i) { return strings[i]; }

});

jScrollPane3.setViewportView(jList2);

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 2;

gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;

gridBagConstraints.ipadx = 17;

gridBagConstraints.ipady = 115;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

gridBagConstraints.weightx = 1.0;

gridBagConstraints.weighty = 1.0;

jPanel5.add(jScrollPane3, gridBagConstraints);

getContentPane().add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 0, 44, 190));

jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder());

jPanel4.setLayout(new java.awt.GridBagLayout());

jButton1.setText("确定");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 0;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

jPanel4.add(jButton1, gridBagConstraints);

jButton2.setText("取消");

gridBagConstraints = new java.awt.GridBagConstraints();

gridBagConstraints.gridx = 0;

gridBagConstraints.gridy = 1;

gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;

jPanel4.add(jButton2, gridBagConstraints);

getContentPane().add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 0, -1, -1));

pack();

}// /editor-fold

private void fontNameListValueChanged(javax.swing.event.ListSelectionEvent evt) {

int index = this.fontNameList.getSelectedIndex();

if (index = 0) {

this.fontNameLabel.setText(fontNameList.getSelectedValue().toString());

reSetPreviewValue();

}

}

private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {

int index = jList1.getSelectedIndex();

if (index = 0) {

this.formatLabel.setText(jList1.getSelectedValue().toString());

reSetPreviewValue();

}

}

private void jFormattedTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

JFontChooser dialog = new JFontChooser(new javax.swing.JFrame(), true);

dialog.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

}

});

dialog.setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JLabel fontNameLabel;

private javax.swing.JList fontNameList;

private javax.swing.JLabel fontTitleLabel;

private javax.swing.JLabel fontformatTitleLabel;

private javax.swing.JLabel formatLabel;

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JFormattedTextField jFormattedTextField1;

private javax.swing.JList jList1;

private javax.swing.JList jList2;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JPanel jPanel5;

private javax.swing.JPanel jPanel6;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JScrollPane jScrollPane3;

private javax.swing.JLabel previewLabel;

private javax.swing.JLabel sizeTitleLabel;

// End of variables declaration

}

这个是用netBeans托好的界面,功能也完成了一部分,你参考一下,当初做了玩玩的,做了个半成品。

java如何改变JDialog的背景颜色?

java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Dialog javax.swing.JDialog

Methods inherited from class java.awt.Component

setBackground

jDialog已添加两个JPanel,如何给jDialog添加背景图片啊,并且JPanel是透明的,求大神!

按照你的要求给jDialog添加背景图片的Java程序如下

注意 背景图片要放在Java当前项目的根目录下

比如你的当前项目名是project1, 在D:projectproject1 下就是你的当前项目的根目录(其中D:project只是打个比方,以你的实际目录为准)

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Image;

import java.awt.Point;

import java.awt.Rectangle;

import java.awt.Toolkit;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JLabel;

import javax.swing.JLayeredPane;

import javax.swing.JPanel;

public class D {

 D(){

  JDialog jDialog = new JDialog();

  jDialog.setSize(400, 200);

  JPanel jp1 = new JPanel();

  JPanel jp2 = new JPanel();

  Container container = jDialog.getContentPane();  

  JPanel panelBg=new JPanel();

  JPanel panelContent=new JPanel();

  JLayeredPane lp=new JLayeredPane();

  Dimension dimension = new Dimension(jDialog.getWidth(), jDialog.getHeight());  

  lp.setSize(dimension);  

  panelContent.setLayout(new BorderLayout());

  Image imageBg = Toolkit.getDefaultToolkit().getImage("autumn1.jpg");

  ImageIcon imageIcon = new ImageIcon(imageBg.getScaledInstance

    (dimension.width, dimension.height, Image.SCALE_FAST));

  JLabel jl1 = new JLabel(imageIcon);

  Point origin = new Point(0, 0);

  Rectangle rectangle = new Rectangle(origin, dimension);

  panelBg.setBounds(rectangle);

  panelBg.setLayout(new BorderLayout());

  panelBg.add(jl1,BorderLayout.CENTER);

  JLabel jl = new JLabel("正在测量......");

  jp1.add(jl);

  JButton jb = new JButton("取消");

  jp2.add(jb);

  jp1.setOpaque(false);

  jp2.setOpaque(false);

  panelContent.setBounds(rectangle);

  panelContent.add(jp1,BorderLayout.CENTER);

  panelContent.add(jp2,BorderLayout.SOUTH);

  panelContent.setOpaque(false);

  lp.add(panelBg,new Integer(0));

  lp.add(panelContent, new Integer(1));  

  container.add(lp, BorderLayout.CENTER);  

  jDialog.setUndecorated(true);

  jDialog.setLocationRelativeTo(null);

  jDialog.setVisible(true); 

 }

 public static void main(String[] args) {

  new D();

 }

}

运行结果

java swing Jpanel 怎么添加一个Jdialog弹出框

通过: 弹出框, 顾名思义就是刚开始看不见, 触发某个事件后弹出的一个框

所以 我们要让JPanel响应指定的事件然后弹出 . 比如常见的事件, 鼠标点击JPanel后弹出

弹出框. 一般有两种方法实现

方法一:JOptionPane 创建1个简单的弹出框.(代码量少, 效果简单)

方法二Dialog/JDialog 创建1个弹出框.(代码量长,可以实现复杂的效果)

效果图

参考代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Demo extends JFrame {

JPanel jp;

static final String title = "Message";

static final String content = "Eggs aren't supposed to be green.";

public Demo() {

jp = new JPanel();

jp.setBackground(Color.PINK);

jp.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

//方法1

JOptionPane.showMessageDialog(null, content, title, JOptionPane.INFORMATION_MESSAGE);

//方法2

new MyDailog(title, content).setVisible(true);// 创建1个对话框,并且设置为可见

}

});

add(jp);

setTitle("测试Demo");// 标题

setSize(280, 280);// 窗口大小

setLocationRelativeTo(null);// 窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序

setVisible(true);// 窗口可见

}

public static void main(String[] args) {

new Demo();

}

}

// 对话框类

class MyDailog extends JDialog implements ActionListener {

String title;

String content;

public MyDailog(String title, String content) {

this.title = title;

this.content = content;

ImageIcon icon = new ImageIcon("tp.png");// 创建1个图标实例

JLabel jlImg = new JLabel(icon);// 1个图片标签,显示图片

JLabel jl = new JLabel(content);// 1个文字标签,显示文本

jl.setForeground(Color.BLUE);// 设置文字的颜色为蓝色

JButton jb = new JButton("确定");// 创建1个按钮

jb.addActionListener(this);// 给按钮添加响应事件

add(jlImg);// 向对话框加入图片标签

add(jl);// 向对话框加入文字标签

add(jb);// 向对话框添加按钮

setLayout(new FlowLayout());// 对话框流式布局

setIconImage(icon.getImage());// 窗口左上角的小图标

setTitle(title);// 设置标题

setModal(true);// 设置为模态窗口

setSize(275, 135);// 设置对话框大小

setLocationRelativeTo(null);// 对话框局域屏幕中央

setResizable(false);// 对话框不可缩放

setDefaultCloseOperation(DISPOSE_ON_CLOSE);// 当对话框窗口的关闭按钮[X]被点击时,销毁对话框

}

// 当确定按钮被点击时会执行下面的方法

@Override

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("确定")) {// 判断是不是确定按钮被点击

this.setVisible(false);// 对话框不可见

this.dispose();// 对话框销毁

}

}

}

java jdialog 怎么用

JDialog 对话框 , 一般用于满足比较复杂的弹出对话框, 比如 很多的输入框, 很多的按钮等情况

JOptionPane 也是对话框, 但是它一般只用于简单的提示, 输入, 选择, 警告 , 不能进行复杂的自定义.

下面写1个简单的使用JDialog来提示的对话框

import javax.swing.*;

import java.awt.event.*;

public class DialogFrame extends JFrame implements ActionListener {

JPanel jp1;

JTextField jtf;

JButton jb1;

public DialogFrame() {

jp1 = new JPanel();

JLabel jl1 = new JLabel("请输入用户名");

jtf = new JTextField(8);

jb1 = new JButton("确定");

jb1.addActionListener(this);

jp1.add(jl1);

jp1.add(jtf);

jp1.add(jb1);

add(jp1);

// 窗口属性设置

setTitle("JFrame");// 标题

setSize(380, 180);// 窗口大小

setLocationRelativeTo(null);// 窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序

}

public static void main(String[] args) {

new DialogFrame().setVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

if (jb1 == e.getSource()) {

String name = jtf.getText().trim();

if (name.equals("")) {// 验证是否输入了有效的字符串

// 字符串为"", 那么弹出对话框进行提示

new TPDialog(this, "提示", true, "Sorry! 用户名必须填写,不能为空!");

// 第一个参数 this 代表了本JFrame对象

// 第二个参数 标题

// 第三个参数 true表示模态窗口, 该窗口置顶,并且如果不关闭,无法点击其他的组件

// 第四个参数 表示了对话框要弹出的信息内容是什么

}

}

}

}

class TPDialog extends JDialog {

public TPDialog(JFrame jf, String title, boolean flag, String info) {

super(jf, title, flag); //调用父类的构造器

// 第一个参数 this 代表了本JFrame对象

// 第二个参数 标题

// 第三个参数 true表示模态窗口, 该窗口置顶,并且如果不关闭,无法点击其他的组件

JLabel jl = new JLabel(info);

add(jl);

setSize(230, 100);//大小

setLocationRelativeTo(null);//居中

setVisible(true);

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//点击关闭时,销毁对话框

}

}

效果显示

java中JDialog的用法?

Dialog1 实际上是创建一个对话框,实现代码如下:

class Dialog1 {

JDialog jd=new JDialog(jf,"JDialog窗体",true);

Dialog1(){

jd.setSize(300,200);

Container c2=jd.getContentPane();

c2.setLayout(null);

JLabel jl=new JLabel("只是一个对话框");

jl.setBounds(0,-20,100,100);

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

jbb.setBounds(100,100,60,30);

c2.add(jl);

c2.add(jbb);

jbb.addActionListener(new ActionListener(){ //对按钮增加监听事件

@Override

public void actionPerformed(ActionEvent e) {

jd.dispose(); //关闭窗体

}

});

System.out.println("OK");

jd.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //关闭对话框

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。