十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我随手写了一个,你自己看看,注释我就不写了
十多年的郴州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整郴州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“郴州网站设计”,“郴州网站推广”以来,每个客户项目都认真落实执行。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestDraw implements ActionListener {
private JButton b1,b2,b3;
JFrame frame;
MyPanel panel;
public void init() {
frame = new JFrame();
frame.setBounds(100, 100, 400, 300);
frame.setTitle("画");
frame.setLayout(new GridLayout(2, 1));
JPanel p1 = new JPanel();
b1 = new JButton("直线");
b2 = new JButton("矩形");
b3 = new JButton("椭圆");
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
p1.add(b1);
p1.add(b2);
p1.add(b3);
panel = new MyPanel();
frame.add(p1);
frame.add(panel);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == b1) {
panel.setFlag(0);
panel.repaint();
}else if(e.getSource() == b2) {
panel.setFlag(1);
panel.repaint();
}else if(e.getSource() == b3) {
panel.setFlag(2);
panel.repaint();
}
}
public static void main(String[] args) {
new TestDraw().init();
}
class MyPanel extends JPanel {
int flag = -1;
public MyPanel() {
this.setSize(400, 400);
this.setBackground(Color.white);
this.setVisible(true);
}
//画直线
public void drawL(Graphics g) {
g.drawLine(100, 20, 200, 20);
}
//画矩形
public void drawR(Graphics g) {
g.drawRect(100, 20, 200, 100);
}
//画椭圆
public void drawO(Graphics g) {
g.drawOval(100, 20, 200, 100);
}
@Override
public void paint(Graphics g) {
super.paint(g);
if(flag == 0) {
drawL(g);
}else if(flag == 1) {
drawR(g);
}else if(flag == 2) {
drawO(g);
}
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
}
}
一般来说.比较常使用的是 JTextArea文本框的无参数构造器进行构造
然后可以使用setText("文字")来设置文本,或者getText()方法来获得文本
JTextArea jta = new JTextArea();
jta.setText("你好啊");
String txt = jta.getText();
具体例子
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class ReadBook extends JFrame{
JTextArea jta;
JTextField jtf;
JButton jb;
public ReadBook(){
jta = new JTextArea();
jtf = new JTextField(30);
jtf.setText("文件路径如c:\\ab.txt");
jb = new JButton("显示文字");
JPanel jp = new JPanel();
jp.add(jtf);
jp.add(jb);
add(jta);
add(jp,BorderLayout.SOUTH);
setBounds(500, 100, 500, 380);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String path = jtf.getText();
File f= new File(path);
if(f.exists()!f.isDirectory()){//存在该文件且不是文件夹
try {
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(f));
String temp;
while((temp=br.readLine())!=null){
sb.append(temp+"\n");
}
br.close();
jta.setText(sb.toString());//setText方法可以给jta添加文字
} catch (Exception e1) {
e1.printStackTrace();
}
}else{
jtf.setText("路径错误.重新填写");
}
}
});
}
public static void main(String[] args) {
new ReadBook();
}
}
效果
不是很明白,
类似于启动界面的么?
import javax.swing.*;
import java.awt.*;
import java.net.*;
public class JSplashWindow extends JWindow implements Runnable
{
Thread splashThread=null;
public JSplashWindow()
{
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//设置启动界面的光标样式
JPanel splash=new JPanel(new BorderLayout());
URL url=getClass().getResource("1.jpg");//获得指定资源文件的绝对路径。
if(url!=null)
{
splash.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);
}
setContentPane(splash);
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();//获得屏幕的大小
pack();
setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);//使启动窗口居中显示
start();
}
public void start()
{
toFront();//window类的toFront()方法可以让启动界面显示的时候暂时在最前面,用window类的setAlwayOnTop(boolean)方法可以让窗口总保持在最前面。
splashThread=new Thread(this);
splashThread.start();
}
public void run()
{
try
{
setVisible(true);
Thread.sleep(50000);
}
catch(Exception e)
{
e.printStackTrace();
}
dispose();
}
static void showFrame(String title)
{
JFrame frame=new JFrame(title);
frame.setSize(400,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize=frame.getToolkit().getScreenSize();//获得屏幕的大小
Dimension frameSize=frame.getSize();
if(frameSize.heightscreenSize.height)
{
frameSize.height=screenSize.height;
}
if(frameSize.widthscreenSize.width)
{
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
frame.setVisible(true);
}
public static void main(String[] args)
{
showFrame("Demo splash window");
JSplashWindow splash=new JSplashWindow();
//splash.start();
}
}
/*getToolkit()方法是java.awt.window类的方法它可以得到一个Toolkit类。Toolkit对象的getScreenSize()方法可以得到屏幕的大小。
getScreenSize()方法返回一个 Dimension对象,它的width,height属性就是屏幕的宽和高。
Object getClass()方法是java.lang.Object类的方法它可以获得当前正在运行类的对象
URL getResource(String name)方法是java.lang.Class类的方法用此方法可以获得一个指定资源文件的绝对路径。*/