导航:首页 > 编程语言 > javaflowlayout滚动条

javaflowlayout滚动条

发布时间:2024-01-23 03:41:47

java GUI中有哪几种常用的布局方式,各有什么特点

Java GUI中有哪几种常用的布局方式,各有什么特点?

FlowLayout流式布局
BorderLayout边界布局
GridLayout网格布局
CardLayout卡片布局
GridBagLayout网路包布局

java 的布局方式有什么特点

布局?Java GUI布局吧?

AWT/Swing/SWT三种.

AWT 概述

Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置,包括早期的 Web 浏览器中的 Java 实现;另外它也非常稳定。这意味着我们不需要单独安装这个工具包,在任何一个 Java 执行环境中都可以使用它,这一点正是我们所希望的特性。

AWT 是一个非常简单的具有有限 GUI 元件、布局管理器和事件的工具包(参见 清单 1、清单 2 和 清单 3)。这是因为 Sun 公司决定为 AWT 使用一种最小公分母(LCD)的方法。因此它只会使用为所有 Java 主机环境定义的 GUI 元件。最终的结果非常不幸,有些经常使用的元件,例如表、树、进度条等,都不支援。对于需要更多饥陪元件型别的应用程式来说,我们需要从头开始建立这些元件。这是一个很大的负担。

Swing 概述

Java Swing 是 Java Foundation Classes(JFC)的一部分,它是试图解决 AWT 缺点的一个尝试。在 Swing 中,Sun 开发了一个经烂渣蠢过仔细设计的、灵活而强大的 GUI 工具包。不幸的是,这意味着我们又要花一些时间来学习 Swing 了,对于常见的情况来说,Swing 有些太复杂了。

Swing 是在 AWT 元件基础上构建的。所有 Swing 元件实际上也是 AWT 的一部分。Swing 使用了 AWT 的事件模型和支援类,例如 Colors、Images 和 Graphics。Swing 元件、布局管理器以及事件总结如下(参见 清单 4、清单 5 和 清单 6)。正如您可以看到的一样,这些元件集比 AWT 提供的元件集更为广泛,与 SWT 元件集相比也毫不逊色。

SWT 概述

与 AWT 的概念相比,SWT 是一个低阶的 GUI 工具包。JFace 是一组用来简化使用 SWT 构建 GUI 的增强元件和工具服务。SWT 的构建者从 AWT 和 Swing 实现中学习了很多经验,他们试图构建一个集二者优点于一体而没有二者的缺点的系统。从很多方面来说,他们已经成功了。

SWT 也是基于一个对等体实现的,在这一点上它与 AWT 非常类似。它克服了 AWT 所面临的 LCD 的问题,方法如下:定义了一组控制元件,它们可以用来构建大部分办公应用程式或开发者工具,然后可以按照逐个主机的原则,为特定主机所没有提供的控制元件建立模拟控制元件(这与 Swing 类似)。对于大部分现代主机来说,几乎所有的控制元件都是基于本地对等体的。这意味着基于 SWT 的 GUI 既具有主机外观,又具有主机的效能。这样就避免了使用 AWT 和 Swing 而引起的大部分问题。特定的主机具有一些低阶功能控制元件,因此 SWT 提供了扩充(通常是模拟的)版本(通常使用 “C” 作为名字中的第一个字母),从而可以产生更一致的行为。

发动机的布局方式有哪几种,各有什么优势

发动机布局方式
前置前驱 一般中低轿车用 部分抵挡梁好跑车
前置后驱 一般中高档轿车用 部分中低档跑车
前置全驱 一般高阶豪华车用 部分跑车
中置后驱 一般高档高阶豪华跑车用 F1
中置全驱 一般高档高阶豪华跑车用
后置后驱 一般大型客车用 保时捷高阶高档豪华跑车
后置全驱 保时捷高阶高档豪华跑车
发动机 排列方式
直列 L型 一般用于四缸发动机 少数六缸发动机 像宝马
V型发动机 一般六缸以上发动机用
W型发动机 一般12缸以上发动机用 比如大众途锐 奥迪A8 布加迪
H型发动机 一般跑车用 比如保时捷 斯巴鲁

java swing 布局方式有哪几种

BorderLayout,
BoxLayout,
CardLayout,
DefaultMenuLayout,
FlowLayout,
GridBagLayout,
GridLayout,
GroupLayout
swing里常用的也有这些,至于每个具体的功能自己查一下API就可以了。

常用的离合器有哪几种?各有什么特点?

一、变极对数调速方法
这种调速方法是用改变定子绕组的接红方式来改变笼型电动机定子极对数达到调速目的,特点如下:
1、具有较硬的机械特性,稳定性良好;
2、无转差损耗,效率高;
3、接线简单、控制方便、价格低;
4、有级调速,级差较大,不能获得平滑调速;
5、可以与调压调速、电磁转差离合器配合使用,获得较高效率的平滑调速特性。
本方法适用于不需要无级调速的生产机械,如金属切削机床、升降机、起重装置、风机、水泵等。
二、变频调速方法
变频调速是改变电动机定子电源的频率,从而改变其同步转速的调速方法。变频调速系统主要装置是提供变频电源的变频器,变频器可分成交流-直流-交流变频器和交流-交流变频器两大类,目前国内大都使用交-直-交变频器。其特点:
1、效率高,调速过程中没有附加损耗;
2、应用范围广,可用于笼型非同步电动机;
3、调速范围大,特性硬,精度高;
4、技术复杂,造价高,维护检修困难。
5、本方法适用于要求精度高、调速效能较好场合。
三、串级调速方法
串级调速是指绕线式电动机转子回路中串入可调节的附加电势来改变电动机的转差,达到调速的目的。大部分转差功率被串入的附加电势所吸收,再利用产生附加的装置,把吸收的转差功率返回电网或转换能量加以利用。根据转差功率吸收利用方式,串级调速可分为电机串级调速、机械串级调速及闸流体串级调速形式,多采用闸流体串级调速,其特点为:
1、可将调速过程中的转差损耗回馈到电网或生产机械上,效率较高;
2、装置容量与调速范围成正比,投资省,适用于调速范围在额定转速70%-90%的生产机械上;
3、调速装置故障时可以切换至全速执行,避免停产;
4、闸流体串级调速功率因数偏低,谐波影响较大。
5、本方法适合于风机、水泵及轧钢机、矿井提升机、挤压机上使用。
四、绕线式电动机转子串电阻调速方法
绕线式非同步电动机转子串入附加电阻,使电动机的转差率加大,电动机在较低的转速下执行。串入的电阻越大,电动机的转速越低。此方法装置简单,控制方便,但转差功率以发热的形式消耗在电阻上。属有级调速,机械特性较软。
五、定子调压调速方法
当改变电动机的定子电压时,可以得到一组不同的机械特性曲线,从而获得不同转速。由于电动机的转矩与电压平方成正比,因此最大转矩下降很多,其调速范围较小,使一般笼型电动机难以应用。为了扩大调速范围,调压调速应采用转子电阻值大的笼型电动机,如专供调压调速用的力矩电动机,或者在绕线式电动机上串联频敏电阻。为了扩大稳定执行范围,当调速在2:1以上的场合应采用反馈控制以达到自动调节转速目的。
调压调速的主要装置是一个能提供电压变化的电源,目前常用的调压方式有串联饱和电抗器、自耦变压器以及闸流体调压等几种。闸流体调压方式为最佳。调压调速的特点:
1、调压调速线路简单,易实现自动控制;
2、调压过程中转差功率以发热形式消耗在转子电阻中,效率较低。
3、调压调速一般适用于100KW以下的生产机械。
六、电磁调速电动机调速方法
电磁调速电动机由笼型电动机、电磁转差离合器和直流励磁电源(控制器)三部分组成。直流励磁电源功率较小,通常由单相半波或全波闸流体整流器组成,改变闸流体的导通角,可以改变励磁电流的大小。 电磁转差离合器由电枢、磁极和励磁绕组三部分组成。电枢和后者没有机械联络,都能自由转动。电枢与电动机转子同轴联接称主动部分,由电动机带动;磁极用联轴节与负载轴对接称从动部分。当电枢与磁极均为静止时,如励磁绕组通以直流,则沿气隙圆周表面将形成若干对N、S极 *** 替的磁极,其磁通经过电枢。当电枢随拖动电动机旋转时,由于电枢与磁极间相对运动,因而使电枢感应产生涡流,此涡流与磁通相互作用产生转矩,带动有磁极的转子按同一方向旋转,但其转速恒低于电枢的转速N1,这是一种转差调速方式,变动转差离合器的直流励磁电流,便可改变离合器的输出转矩和转速。电磁调速电动机的调速特点:
1、装置结构及控制线路简单、执行可靠、维修方便;
2、调速平滑、无级调速;
3、对电网无谐影响;
4、速度失大、效率低。
5、本方法适用于中、小功率,要求平滑动、短时低速执行的生产机械。
七、液力耦合器调速方法
液力耦合器是一种液力传动装置,一般由泵轮和涡轮组成,它们统称工作轮,放在密封壳体中。壳中充入一定量的工作液体,当泵轮在原动机带动下旋转时,处于其中的液体受叶片推动而旋转,在离心力作用下沿着泵轮外环进入涡轮时,就在同一转向上给涡轮叶片以推力,使其带动生产机械运转。液力耦合器的动力转输能力与壳内相对充液量的大小是一致的。在工作过程中,改变充液率就可以改变耦合器的涡轮转速,作到无级调速,其特点为:
1、功率适应范围大,可满足从几十千瓦至数千千瓦不同功率的需要;
2、结构简单,工作可靠,使用及维修方便,且造价低;
3、尺寸小,能容大;
4、控制调节方便,容易实现自动控制。
5、本方法适用于风机、水泵的调速。

电气简图连线线的布局方式有哪几种?

⑴、水平布置:将装置和元件按行布置,使得其连线线一般成水平布置。
⑵、垂直布置:将装置或元件按列排列,连线线成垂直布置。
⑶、交叉布置:将相应的元件连线成对称的布局。

常用的Inter接入方案有哪几种? 各有什么特点

电话拨号接入
传输介质 : 电话线终端
上行速率 : 512k—640k
下行数率 : 512k-1M
价格水平 : 非常便宜(48元包月)
适用场合 : 个人
稳定性 : 非常不稳定
提供商 : 中国移动、中国联通
ISDN拨号
传输介质 :网路水晶线
上行速率 :640k-2M
下行数率 :1M-2M
价格水平 :便宜(70元左右)
适用场合 :对网路要求不高的个人
稳定性 :趋于稳定
提供商 :中国网通、中国电信、中国铁通
租用线路(DDN专线接入)
传输介质 : MODEM
上行速率 : 1M-10M
下行数率 : 640k
价格水平 : 偏贵(80元包月左右)
适用场合 : 公司、个人上网
稳定性 : 非常稳定
提供商 : 中国铁通
区域网接入
传输介质 : 伺服器
上行速率 : 512k-1M
下行数率 : 640k-2M
价格水平 : 偏贵(90元左右)
适用场合 : 办公室
稳定性 : 不太稳定
提供商 : 中国移动、中国联通、中国网通、中国电信
无线接入
传输介质 :无线网络
上行速率 :1M-5M
下行数率 :512k-1M
价格水平 :贵(120元左右包月)
适用场合 :经常出差或者旅游的个人
稳定性 : 不稳定
提供商 : 暂无
Cable Modem接入
传输介质 :MODEM服务端
上行速率 :10M
下行数率 :1M
价格水平 :便宜
适用场合 :公司、家庭
稳定性 :非常稳定
提供商 :中国网通、中国电信、中国移动、中国联通
光纤接入
传输介质 :光纤电缆
上行速率 :10M-100M
下行数率 :10M
价格水平 :非常贵
适用场合 :IDC/对网路要求极高的人群等稳定性 :最稳定了
提供商 :美国、日本提供商

换流方式有哪几种,各有什么特点?

换流就是电流从一条支路换向另一支路的过程.
换流方式有4种.
器件换流,利用全控器件的自关断能力进行换流.全控型器件采用此换流方式.
电网换流,由电网提供换流电压,只要把负的电网电压加到欲关断的器件上即可.
负载换流,由负载提供换流电压,当负载为电容性负载即负载电流超前于负载电压时,可实现负载换流.
强迫换流,设定附加换流电路,给欲关断的闸流体施加反向电压换流称为强迫换流.通常是利用附加电容上的能量实现的,也称电容换流.

㈡ Java程序 实现图形面板上的字幕滚动效果

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.JButton;
public class mi
{
private static String username;
private static String password ;
private static JTextField []t={
new JTextField("账号:",8),new JTextField(10),
new JTextField("密码:",8),new JPasswordField(10)};

public static void main (String args[]){
JFrame app=new JFrame("账号密码演示程序");
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(280,120);
Container c=app.getContentPane();
c.setLayout(new FlowLayout());

t[0].setEditable(false);
t[2].setEditable(false);
for(int i=0;i<4;i++)
c.add(t[i]);t[1].setText("");

JButton[]b={new JButton("确定"),new JButton("重置")};
c.add(b[0]);c.add(b[1]);
app.setLocationRelativeTo(null);
app.setVisible(true);

b[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
t[1].setText("");
t[3].setText("");
}
});
// 登录按钮加事件监听器
b[0].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
username = t[1].getText();
password = t[3].getText();
//判断用户名密码是否正确
if (username.equals("数字") && password.equals("123")) {
JOptionPane.showMessageDialog(null, "登陆成功!", "消息",
JOptionPane.INFORMATION_MESSAGE);

} else {
JOptionPane.showMessageDialog(null, "用户名或密码错误!", "错误",
JOptionPane.ERROR_MESSAGE);
}
}
}); }

}

㈢ 如何向java jframe中添加下拉列表 按钮 文本框 最后把信息存储在文件

lz 你好

(ps: lz 加点儿分吧 太少了……)


具体代码如下:

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;


publicclassTestextendsJFrame{
privateJLabelname,phone,sex;
privateJTextFieldinputName,inputPhone;
privateJComboBoxsexBox;
privateString[]item={"男","女"};
privateJButtonsave;

publicTest(){
super("信息管理");
setSize(240,300);
setLayout(newFlowLayout(FlowLayout.CENTER,10,30));

name=newJLabel("姓名:");
phone=newJLabel("手机号:");
sex=newJLabel("性别:");

inputName=newJTextField(14);
inputPhone=newJTextField(14);

sexBox=newJComboBox(item);

save=newJButton("储存");
save.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(inputName.getText().equals("")||inputPhone.getText().equals("")){
return;
}

try{
Filef=newFile("info.txt");
BufferedWriterbw=newBufferedWriter(newFileWriter(f,true));

if(f.length()==0){
bw.write("姓名 性别 手机号");
bw.newLine();
}

Stringstr=inputName.getText()+" "+sexBox.getSelectedItem()+" "+inputPhone.getText();
bw.write(str);
bw.newLine();
bw.close();
}catch(Exceptionex){
}
}
});

getContentPane().setBackground(Color.WHITE);
getContentPane().add(Box.createHorizontalStrut(5));
getContentPane().add(name);
getContentPane().add(inputName);
getContentPane().add(phone);
getContentPane().add(inputPhone);
getContentPane().add(Box.createHorizontalStrut(35));
getContentPane().add(sex);
getContentPane().add(sexBox);
getContentPane().add(Box.createHorizontalStrut(35));
getContentPane().add(save);

setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(3);
}

publicstaticvoidmain(String[]args){
newTest();
}
}



希望能帮助你哈

㈣ 用 java 怎么做进度条

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;

public class MyProgressBar extends Canvas {
private float scaleSize;
private float currentValue;

public MyProgressBar() {
(100, 50);
}

public MyProgressBar(float scaleSize, float currentValue) {
this.scaleSize = scaleSize;
this.currentValue = currentValue;

this.setBackground(Color.lightGray);
this.setForeground(Color.magenta);
setSize(150, 25);
}

public float getCurrentValue() {
return currentValue;
}

public void setCurrentValue(float currentValue) {
this.currentValue = Math.max(0, currentValue);
if (this.scaleSize < this.currentValue) {
this.currentValue = this.scaleSize;
}
}

public float getScaleSize() {
return scaleSize;
}

public void setScaleSize(float scaleSize) {
this.scaleSize = Math.max(1.0f, scaleSize);
if (this.scaleSize < this.currentValue) {
this.scaleSize = this.currentValue;
}
}

public synchronized void paint(Graphics g) {
int w = getSize().width;
int h = getSize().height;

g.setColor(getBackground());
g.fillRect(1, 1, w - 2, h - 2);
g.fill3DRect(0, 0, w - 1, h - 1, true);

g.setColor(getForeground());
g.fillRect(3, 3, (int) (currentValue * (w - 6) / scaleSize), h - 6);
}
}

下面是程序执行入口点:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class TestMyProgressBar extends JFrame implements Runnable,
ActionListener {

private MyProgressBar bar;
private JButton btnStart;
static TestMyProgressBar tmpb;

public TestMyProgressBar() {
setSize(400, 300);
setLocation(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("演示自定义进度条");
setLayout(new FlowLayout());
btnStart = new JButton("开始");
this.add(btnStart);
btnStart.addActionListener(this);
bar = new MyProgressBar();
setVisible(true);
}

public static void main(String[] args) {
tmpb = new TestMyProgressBar();
}

@Override
public void run() {
for (int i = 1; i <= 20; i++) {
int x = i * 5;
bar.setCurrentValue(x);
if (x > 0 && x < 100) {
btnStart.setEnabled(false);
}
if (x == 100) {
btnStart.setEnabled(true);
}
try {
Thread.sleep(200);
add(bar);

} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("开始")) {
Thread t = new Thread(tmpb);
t.start();
}
}
}

㈤ 我想做个JAVA的弹出窗口,是只有默认关闭按钮的那种

JOptionPanel

有好几种对话框

例子如下:
String msg = "您现在要关闭系统吗 ?";

int flag = JOptionPane.showConfirmDialog(this, msg, "提示",
JOptionPane.YES_NO_OPTION);

if (flag == JOptionPane.YES_OPTION)
{
this.dispose();
System.exit(0);
}
====================================
或者作一个类继承Dialog类
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import com.tool.TCSwing;

public class About extends JDialog implements ActionListener
{

private JPanel panelMain;
private JPanel p2,p3;

private JLabel top;

private JButton btn1;

public About(JFrame frame)
{
super(frame, "关于",true);

panelMain = new JPanel(new BorderLayout(10,10));

buildPanel();

panelMain.add(top,BorderLayout.NORTH);
panelMain.add(p2);
panelMain.add(p3, BorderLayout.SOUTH);
this.setContentPane(panelMain);
this.setSize(300, 200);
//下面这个是自己封装的使窗口居中的方法
TCSwing.setWindowCenter(this);

}

private void buildPanel()
{
top = new JLabel(new ImageIcon("image/login_top.jpg"));

p2 = new JPanel(new GridLayout(2,1,10,10));
p2.add(new JLabel("作者: me"));
p2.add(new JLabel("制作公司:niit"));

btn1 = new JButton("确定");
btn1.addActionListener(this);
p3 = new JPanel(new FlowLayout());
p3.add(btn1);

}

public void actionPerformed(ActionEvent ae)
{
Object obj = ae.getSource();

if(obj.equals(btn1))
{
this.dispose();
}

}

}

阅读全文

与javaflowlayout滚动条相关的资料

热点内容
线下活动数据分析有哪些 浏览:314
助听器插片式编程线如何连接 浏览:293
怎么删除系统休眠文件 浏览:914
搜索文件内容中包含的文字并替换 浏览:542
微信相册程序图标 浏览:714
win8怎么显示文件格式 浏览:547
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304
起名app数据哪里来的 浏览:888
微信怎么去泡妞 浏览:52
百度广告html代码 浏览:244
qq浏览器转换完成后的文件在哪里 浏览:623

友情链接