⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dssetupdialog.java

📁 用JAVA编写的绘图程序 功能简介: 支持存储
💻 JAVA
字号:
package drawsmart.itsv.menuber;

import java.awt.*;
import javax.swing.*;
import drawsmart.itsv.framework.*;
import javax.swing.event.*;
import drawsmart.itsv.swing.DSExtendLine;
import javax.swing.border.*;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * <p>Title: 参数调节窗口</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class DSSetupDialog extends JDialog implements ChangeListener, ActionListener
{

  //创建字体类
  private java.awt.Font myFont=new java.awt.Font("宋体",9,12);

  //设置尺寸
  private Dimension Dimension=new Dimension(400,400);

  //创建面板
  private JPanel panel1 = new JPanel();

  private JDSExtendDesktopface jDSExtendDesktopface;

  //滑块条
  private JSlider jSlider1;

  //滑块条
  private JSlider jSlider2;

  //面板的布局器
  private GridLayout gridLayout=new GridLayout(4,1);//建立布局器对象

  /******************************/

  //第一个面板
  private JPanel panel2 = new JPanel();

  //第一个面板的预览面板
  private JPanel panel2_l=new JPanel();

  private FlowLayout flowLayout1=new FlowLayout();//建立布局器对象

  private BorderLayout borderLayout=new BorderLayout();

  //预览的直线
  private DSExtendLine dSExtendLine=new DSExtendLine();

  /*****************************/

  //第二个面板
  private JPanel panel3 = new JPanel();

  //第二个面板的预览面板
  private JPanel panel3_l=new JPanel();

  private FlowLayout flowLayout2=new FlowLayout();//建立布局器对象

  /******************************/
  //样式
  //创建边框样式类(顶部)
  private Border border1=BorderFactory.createEtchedBorder(Color.white,Color.gray); //建立边框样式类一(颜色)
  private TitledBorder titledBorder1= new TitledBorder(border1,"设置组件的边框宽度",0,2,myFont);; //建立对话框边框样式类一

  //创建边框样式类(顶部)
  private TitledBorder titledBorder2= new TitledBorder(border1,"设置连接器的宽度",0,2,myFont);; //建立对话框边框样式类一

  //创建边框样式类(顶部)
  private TitledBorder titledBorder3= new TitledBorder(border1,"设置组件的透明",0,2,myFont);; //建立对话框边框样式类一

  /******************************/
  //第三个面板
  private JPanel panel4= new JPanel();

  private ButtonGroup buttonGroup=new ButtonGroup();

  private JRadioButton jRadioButton1=new JRadioButton();

  private JRadioButton jRadioButton2=new JRadioButton();

  /****************************************************/
  //提交,取消
  private JPanel panel5= new JPanel();

  private JButton jButton1=new JButton("确定");

  private JButton jButton2=new JButton("取消");

  public DSSetupDialog(Frame frame, JDSExtendDesktopface jDSExtendDesktopface)
  {
    super(frame, "设置线宽", true);

    this.jDSExtendDesktopface=jDSExtendDesktopface;

    jSlider1 = new JSlider(0,20,jDSExtendDesktopface.getFrameWidth());
    jSlider2 = new JSlider(0,20,jDSExtendDesktopface.getLineWidth());

    jSlider1=iniJSlider(jSlider1);
    jSlider1.addChangeListener(this);

    jSlider2=iniJSlider(jSlider2);
    jSlider2.addChangeListener(this);

    panel2_l.setPreferredSize(new Dimension(150,50));
    panel2_l.setBorder(BorderFactory.createEtchedBorder(Color.white,Color.gray));

    panel3_l.setPreferredSize(new Dimension(150,50));
    panel3_l.setBorder(BorderFactory.createEtchedBorder(Color.white,Color.gray));

    try
    {
      jbInit();
      pack();
    }
    catch(Exception ex) {
      ex.printStackTrace();
    }
  }

  private void jbInit() throws Exception
  {
    panel2.setLayout(flowLayout1);

    panel3.setLayout(flowLayout2);

    //设置长度和宽度
    panel1.setPreferredSize(Dimension);

    //设置布局器
    panel1.setLayout(gridLayout);
    this.getContentPane().add(panel1);

    //面板
    panel1.add(panel2);
    panel1.add(panel3);
    panel1.add(panel4);
    panel1.add(panel5);

    //添加第一个面板的内容
    panel2.setBorder(titledBorder1);
    panel2.add(jSlider1);
    //添加第一个面板的预览面板
    panel2.add(panel2_l);


    //添加第二个面板的内容
    panel3.setBorder(titledBorder2);
    panel3.add(jSlider2);
    //添加第二个面板的预览面板
    panel3.add(panel3_l);


    //第三个面板的内容
    panel4.setBorder(titledBorder3);
    jRadioButton1.setText("设置组件为透明");
    jRadioButton2.setText("设置组件为不透明");
    buttonGroup.add(jRadioButton1);
    buttonGroup.add(jRadioButton2);
    panel4.add(jRadioButton1);
    panel4.add(jRadioButton2);
    if(jDSExtendDesktopface.getIsClarity())
    {
      jRadioButton2.setSelected(true);
    }
    else
    {
      jRadioButton1.setSelected(true);
    }


    //第四个面板
    panel5.setLayout(borderLayout);
    Panel panel5_1=new Panel();
    panel5.add(panel5_1,borderLayout.NORTH);
    panel5_1.add(jButton1);
    panel5_1.add(jButton2);
    JLabel jlabel1=new JLabel("此面板中的信息不列入存盘信息中");
    jlabel1.setHorizontalAlignment(JLabel.CENTER);
    panel5.add(jlabel1,borderLayout.SOUTH);
    jButton1.addActionListener(this);
    jButton2.addActionListener(this);
  }

  //滑块条设置器
  private JSlider iniJSlider(JSlider jSlider)
  {
    jSlider.setPaintTicks(true);
    jSlider.setMajorTickSpacing(5);
    jSlider.setMinorTickSpacing(1);

    jSlider.setPaintLabels(true);
    jSlider.setSnapToTicks(true);
    //jSlider1.getLabelTable().put(new Integer(20), new JLabel(new Integer(20).toString(), JLabel.CENTER));
    //jSlider1.setLabelTable( jSlider1.getLabelTable() );

    return jSlider;
  }

  //实现事件的方法,实现预览方法
  public void stateChanged(ChangeEvent e)
  {
    //
    if(e.getSource()==jSlider1)
    {
      int i=jSlider1.getValue();

      //Graphics2D g2D=(Graphics2D)panel2_l.getGraphics();
      //int x = panel2_l.getX();
      //int y = panel2_l.getY();

      //dSExtendLine.setLine(x,y,x+10,y-5);

      //g2D.draw(dSExtendLine);
    }
  }
  public void actionPerformed(ActionEvent e) {
    //点击了确定按钮
    if(e.getSource()==jButton1)
    {
      //设置组件的边框宽度
      jDSExtendDesktopface.setFrameWidth(jSlider1.getValue());

      //设置连接器的线宽
      jDSExtendDesktopface.setLineWidth(jSlider2.getValue());

      //设置是否透明
      ButtonModel buttonModel=jRadioButton2.getModel();
      jDSExtendDesktopface.setIsClarity(buttonModel.isSelected());

      this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);

      jDSExtendDesktopface.repaint();

      this.setVisible(false);
    }
    //点击了取消按钮
    else if(e.getSource()==jButton2)
    {
      this.setVisible(false);
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -