Java程序设计 图形用户界面【六】

Java程序设计 图形用户界面【六】

JToggleButton

不再自动弹起的按钮

方法 作用
public JToggleButton() 创建一个最基本按钮
public JToggleButton(Icon icon) 设置图片
public JToggleButton(String text) 设置文字
public JToggleButton(String text,Icon icon) 设置文字和图片
public JToggleButton(String text,boolean selected) 设置文字和选择状态
import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JToggleButton b1 = new JToggleButton("选中",true);
        JToggleButton b2 = new JToggleButton("未选中");
        frame.setLayout(new GridLayout(2,1));
        frame.add(b1);
        frame.add(b2);
        frame.setSize(200,100);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

image-20220210112004995

当每次按下之后按钮不会自动弹起

文本组件JTextComponent

  • 单行文本输入框:JTextField
  • 密码文本输入框:JPasswordField
  • 多行文本输入框:JTextArea

JTextComponent常用方法

方法 作用
public String getText() 返回文本框的所有内容
public String getSelectedText() 返回文本框中选定的内容
public int getSelectionStart() 返回文本框选定内容的开始点
public int getSelectionEnd() 返回文本框选定内容的结束点
public void selectAll() 选择此文本框的使用内容
public void getText(String t) 设置此文本框的内容
public void select(int selectionStart,int selectionEnd) 将指定开始点和结束点之间的内容选定
public void setEditable(boolean b) 设置此文本框是否可编辑

单行文本输入组件JTextField

方法 作用
public JTextField() 构造一个默认的文本框
public JTextField(String text) 构造一个指定文本内容的文本框
public void setColumns(int columns) 设置显示长度
import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JTextField name = new JTextField(30);
        JLabel namelab = new JLabel("name:");
        frame.setLayout(new GridLayout(1,2));
        frame.add(namelab);
        frame.add(name);
        frame.setSize(300,100);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

image-20220210115433748

使用绝对定位

import javax.swing.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JTextField name = new JTextField(30);
        JLabel nameLab = new JLabel("name");
        nameLab.setBounds(10,10,100,20);
        name.setBounds(110,10,80,20);
        frame.setLayout(null);
        frame.add(nameLab);
        frame.add(name);
        frame.setSize(300,100);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

image-20220210121554322

密码输入组件JPasswordField

方法 作用
public JPasswordField() 构造默认的JPasswordField对象
public JPasswordField(String text) 构造指定内容的JPasswordField对象
public char setEchoChar() 设置回显的字符,默认为“*”
public char getEchoChar() 得到回显的字符
public char[] getPassword() 得到此文本框的所有内容
import javax.swing.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JPasswordField p1 = new JPasswordField();
        JPasswordField p2 = new JPasswordField();
        p2.setEchoChar('@');
        JLabel lab1= new JLabel("默认回显");
        JLabel lab2= new JLabel("回显为@");
        lab1.setBounds(10,10,100,20);
        lab2.setBounds(10,40,100,20);
        p1.setBounds(110,10,80,20);
        p2.setBounds(110,40,50,20);
        frame.setLayout(null);
        frame.add(lab1);
        frame.add(p1);
        frame.add(lab2);
        frame.add(p2);
        frame.setSize(300,200);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

Java程序设计 图形用户界面【六】_第1张图片

多行文本输入组件JTextArea

方法 作用
public JTextArea() 构造文本域,行数和列数为0
public JTextArea(int rows,int columns) 构造文本域,指定文本域的行数和列数
public JTextArea(String text,int rows,int columns) 指定构造文本域的内容、行数和列数
public void append(String str) 在文本域中追加内容
public void replaceRange(String str,int start,int end) 替换文本域中指定范围的内容
public void insert(String str,int pos) 在指定位置插入文本
public void setLineWrap(boolean wrap) 设置换行策略
import javax.swing.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JTextArea ta = new JTextArea(3,10);
        JLabel lab = new JLabel("多行文本");
        lab.setBounds(40,10,120,20);
        ta.setBounds(40,40,150,100);
        frame.setLayout(null);
        frame.add(lab);
        frame.add(ta);
        frame.setSize(300,200);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

Java程序设计 图形用户界面【六】_第2张图片

添加滚动条

import javax.swing.*;
import java.awt.*;

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        JTextArea ta = new JTextArea(3,10);
        JLabel lab = new JLabel("多行文本");
        JScrollPane scr = new JScrollPane(ta,
                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        frame.setLayout(new GridLayout(2,1));
        frame.add(lab);
        frame.add(scr);
        frame.setSize(300,200);
        frame.setLocation(300,200);
        frame.setVisible(true);
    }
}

Java程序设计 图形用户界面【六】_第3张图片

你可能感兴趣的:(Java,java,开发语言,后端)