189 8069 5689

java纯代码控件,Java控件

java的容器控件有哪些?

1.顶层容器

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、网站设计、抚松网络推广、小程序开发、抚松网络营销、抚松企业策划、抚松品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供抚松建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

什么是顶层容器?当我们使用Java进行图形编程的时候,图在哪里绘制呢?我们需要一个能够提供图形绘制的容器,这个容器就被称为顶层容器,你

也可以把它想象成一个窗口。顶层容器是进行图形编程的基础,一切图形化的东西,都必然包括在顶层容器中。在Swing中,我们有三种可以使用的顶层容器,

它们分别是:

JFrame:用来设计类似于Windows系统中的窗口形式的应用程序。

JDialog:和JFrame类似,只不过JDialog是用来设计对话框。

JApplet:用来设计可以在嵌入在网页中的Java小程序。

如果需要使用Swing制作一个窗口类程序,我们的代码看起来应该是这样:

import javax.swing.*;

public class KyodaiUI

extends JFrame {

……

}

2.控件

控件是构成应用程序界面的基本元素,按钮、文本框、进度条等,这些都是控件。控件(这里我们只讨论可视化控件)又可以分为容器控件和非容器控件。从字面

意义上来理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就属于容器型控件,我们可以在JPanel中放置按钮、文本框

等非容器控件,你甚至可以在JPanel中再放置若干个JPanel控件(值得注意的是,顶层容器也是容器型控件,每一个窗口应用程序中有且只能有一个顶

层容器控件,换句话说,顶层容器不能包括在其他的控件中)。

Java中的容器控件有很多,除刚才提到的JPanel外,还有

JTabbedPane、JScrollPane等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某个容器型的控件

中添加控件,你可以使用 add(Component comp) 方法来实现,如:

JPanel panel = new JPanel();

JButton button = new JButton();

panel.add(button);

3.边框

虽然我们使用了不同前景色来区别不同的区域,然而却没有层次感,加上边框一定会漂亮许多。

在Java中,所有以J打头的Swing控件都可以使用setBorder方法来为自己设置边框。边框有很多种,线型、凸起、凹下、空的,你甚至可以自

由组合形成个人风格。所有的Border都必须使用javax.swing.BorderFactory中提供的静态方法来创建,比如:

Border border = BorderFactory.createBevelBorder(BevelBorder.LOWERED,

new Color(45, 92, 162),

new Color(43, 66, 97),

new Color(45, 92, 162),

new Color(84, 123, 200));

现在,我们将toolBar.setBackground(Color.white)改为toolBar.setBorder(border),立体效果是不是已经出现了?

java代码的打印信息控件怎么做?或者有现成的代码也行。

一: 首先理清业务逻辑

两个窗口, 第一个主窗口, 是用于填写信息的, 点击按钮后,跳转到第二个窗口,.

第二个对话框窗口 ,用于显示需要打印的信息, 以及打印到文档

二: 确定需要的技术, java图像界面主要使用awt和swing

swing里面的控件比较丰富, 且功能强大 .

三: 效果图片

四: 完整的参考代码

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

//定义一个主窗口类

public class MainFrame extends JFrame {

public static final String FILE_PATH = "c:\\print.txt";//常量,用于指定信息的保存路径

//定义主要的组件

private final JTextField jtf1,jtf2,jtf3;

private final JCheckBox jcb1,jcb2,jcb3;

private final JRadioButton jrb1,jrb2;

public MainFrame() {

setTitle("信息提交窗口");//设置窗口标题

setSize(350, 320);//设置窗口大小

setLocationRelativeTo(null);//让窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//当主窗口关闭的时候退出jvm虚拟机

JPanel jp = new JPanel(new GridLayout(5, 1, 2, 1));//定义主显示面板,布局为表格布局5行1列,水平间距2,垂直间距1

JPanel jp1 = new JPanel();//第一行的组件面板

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

jtf1 = new JTextField(10);

jp1.add(jl1);

jp1.add(jtf1);

JPanel jp2 = new JPanel();//第二行的组件面板

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

jtf2 = new JTextField(10);

jp2.add(jl2);

jp2.add(jtf2);

JPanel jp3 = new JPanel();//第三行的组件面板

JLabel jl3 = new JLabel("性别");

jrb1 = new JRadioButton("男");

jrb2 = new JRadioButton("女");

jrb1.setSelected(true);

ButtonGroup bgs = new ButtonGroup();

bgs.add(jrb1);

bgs.add(jrb2);

jp3.add(jl3);

jp3.add(jrb1);

jp3.add(jrb2);

JPanel jp4 = new JPanel();//第四行的组件面板

JLabel jl4 = new JLabel("选择爱好");

jcb1 = new JCheckBox("游泳");

jcb2 = new JCheckBox("篮球");

jcb3 = new JCheckBox("跑步");

jp4.add(jl4);

jp4.add(jcb1);

jp4.add(jcb2);

jp4.add(jcb3);

JPanel jp5 = new JPanel();//第五行的组件面板

JLabel jl5 = new JLabel("自我介绍");

jtf3 = new JTextField(22);

jp5.add(jl5);

jp5.add(jtf3);

//添加到主显示面板

jp.add(jp1);

jp.add(jp2);

jp.add(jp3);

jp.add(jp4);

jp.add(jp5);

jp.setBorder(BorderFactory.createTitledBorder("填写资料"));//设置主显示面板的边框

JButton jb = new JButton("跳转到打印页");

jb.addActionListener(new ActionListener() {//按钮事件

public void actionPerformed(ActionEvent e) {//获取组件的信息

StringBuilder sb = new StringBuilder();//用于连接信息

String name = jtf1.getText();

sb.append("姓名:" + name + "\r\n");

String num = jtf2.getText();

sb.append("学号:" + num + "\r\n");

String sex;

if (jrb1.isSelected()) {

sex = "男";

} else {

sex = "女";

}

sb.append("性别:" + sex + "\r\n");

String aihao = "";

if (jcb1.isSelected()) {

aihao += jcb1.getText();

}

if (jcb2.isSelected()) {

aihao += " " + jcb2.getText();

}

if (jcb3.isSelected()) {

aihao += " " + jcb3.getText();

}

sb.append("爱好:" + aihao + "\r\n");

String jieshao = jtf3.getText();

sb.append("自我介绍:" + jieshao + "\r\n");

new PrintDailog(sb.toString(), FILE_PATH).setVisible(true);//打开打印页面,并设置为可见

}

});

getContentPane().add(new JLabel("信息填写",JLabel.CENTER),BorderLayout.NORTH);

getContentPane().add(jp);

getContentPane().add(jb, BorderLayout.SOUTH);

}

public static void main(String[] args) {

new MainFrame().setVisible(true);

}

}

//定义一个对话框窗口类

class PrintDailog extends JDialog {

String info;//用于接受信息

String filePath;//文档的路径

private final JLabel jl2;

public PrintDailog(String info, final String filePath) {

this.info = info;

this.filePath = filePath;

setModal(true);//模态为真,如果不关闭这个对话框,那么无法点击其他窗口

setTitle("信息打印页");//设置打印窗口的标题

setSize(300, 320);//设置打印窗口的大小

setLocationRelativeTo(null);//设置打印窗口居中

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//当点击关闭按钮时,该窗口销毁

JLabel jl1 = new JLabel("信息打印显示", JLabel.CENTER);

JTextArea jta = new JTextArea(info);

jta.setEditable(false);//不可编辑

jta.setLineWrap(true);//自动换行

JScrollPane jsp = new JScrollPane(jta);

jsp.setBorder(BorderFactory.createTitledBorder("信息"));

JButton jb1 = new JButton("打印");

JPanel jp = new JPanel(new GridLayout(2, 1));

JPanel jp1 = new JPanel();

jp1.add(jb1);

JPanel jp2 = new JPanel();

jl2 = new JLabel();

jp2.add(jl2);

jp.add(jp1);

jp.add(jp2);

add(jl1, BorderLayout.NORTH);

add(jsp);

add(jp, BorderLayout.SOUTH);

jb1.addActionListener(new ActionListener() {//点击打印的按钮的事件

public void actionPerformed(ActionEvent e) {

saveToFile();//信息打印到了文档

jl2.setText("信息已经打印到" + filePath);//显示出来

jl2.setForeground(Color.RED);//为了醒目设置颜色为红色

}

});

}

private void saveToFile() {//该方法用于保存信息到文档

try {

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), "UTF-8"));

bw.write(info);

bw.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

五: 拓展

java 制作图像界面比较简单,  只需要熟练的掌握三大布局(流布局 表格布局 边界布局)和常用组件  , 就能制作出比较复杂的界面 .  所以理清业务逻辑,  才是重点

怎样自己做一个java控件

就写一个没有主函数的类不就可以了,一个实现显示文字的方法,一个实现显示图像的方法,然后在另一个类中调用,可以创建一个button,然后实现它的监听,然后执行那个类中的某个方法不就可以了,awt和swing没怎么学,写不出来

!!

纯java套打代码不用任何插件?

package print; /*用java实现打印 ,java.awt中提供了一些打印的API, 要实现打印 ,首先要获得打印对象 ,然后继承Printable实现接口方法print ,以便打印机进行打印 , 最后用用Graphics2D直接输出直接输出 。 下面代码实现了简单的打印功能: */ import java.awt.BasicStroke; import java.awt.Color; import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.RenderingHints; import java.awt.font.FontRenderContext; import java.awt.font.LineBreakMeasurer; import java.awt.font.TextAttribute; import java.awt.font.TextLayout; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import java.awt.print.Book; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.text.AttributedString; import javax.swing.JApplet; public class print implements Printable { /** */ /** * @param Graphic指明打印的图形环境 * @param PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英才的1/72,1英寸为25.4毫米。A4纸大致为595×842点) * @param pageIndex指明页号 **/ public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException { System.out.println("pageIndex=" + pageIndex); Component c = null; //print string String str = "中华民族是勤劳、勇敢和富有智慧的伟大民族。"; //转换成Graphics2D Graphics2D g2 = (Graphics2D) gra; //设置打印颜色为黑色 g2.setColor(Color.black); //打印起点坐标 double x = pf.getImageableX(); double y = pf.getImageableY(); switch (pageIndex) { case 0: //设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称) //Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput Font font = new Font("新宋体", Font.PLAIN, 9); g2.setFont(font); //设置字体 //BasicStroke bs_3=new BasicStroke(0.5f); float[] dash1 = {2.0f}; //设置打印线的属性。 //1.线宽 2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量 g2.setStroke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 2.0f, dash1, 0.0f)); //g2.setStroke(bs_3);//设置线宽 float heigth = font.getSize2D(); //字体高度 System.out.println("x=" + x); // -1- 用Graphics2D直接输出 //首字符的基线(右下部)位于用户空间中的 (x, y) 位置处 //g2.drawLine(10,10,200,300); Image src = Toolkit.getDefaultToolkit().getImage( "file:icons/filter.gif"); g2.drawImage(src, (int) x, (int) y, c); int img_Height = src.getHeight(c); int img_width = src.getWidth(c); //System.out.println("img_Height="+img_Height+"img_width="+img_width) ; g2.drawString(str, (float) x, (float) y + 1 * heigth + img_Height); g2.drawLine((int) x, (int) (y + 1 * heigth + img_Height + 10), (int) x + 200, (int) (y + 1 * heigth + img_Height + 10)); g2.drawImage(src, (int) x, (int) (y + 1 * heigth + img_Height + 11), c); return PAGE_EXISTS; default: return NO_SUCH_PAGE; } } public static void main(String[] args) { // 通俗理解就是书、文档 Book book = new Book(); // 设置成竖打 PageFormat pf = new PageFormat(); pf.setOrientation(PageFormat.PORTRAIT); // 通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。 Paper p = new Paper(); p.setSize(590, 840); //纸张大小 p.setImageableArea(10, 10, 590, 840); //A4(595 X 842)设置打印区域,其实0,0应该是72,72,因为A4纸的默认X,Y边距是72 pf.setPaper(p); // 把 PageFormat 和 Printable 添加到书中,组成一个页面 book.append(new PrintTest(), pf); //获取打印服务对象 PrinterJob job = PrinterJob.getPrinterJob(); // 设置打印类 job.setPageable(book); try { //可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印 //boolean a=job.printDialog(); //if(a) //{ job.print(); //} } catch (PrinterException e) { e.printStackTrace(); } } }

采纳哦


新闻名称:java纯代码控件,Java控件
网站URL:http://jkwzsj.com/article/dsegjos.html

其他资讯