導航:首頁 > 編程語言 > 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滾動條相關的資料

熱點內容
mdfldf是什麼文件 瀏覽:569
文件在桌面怎麼刪除干凈 瀏覽:439
馬蘭士67cd機版本 瀏覽:542
javaweb爬蟲程序 瀏覽:537
word中千位分隔符 瀏覽:392
迷你編程七天任務的地圖怎麼過 瀏覽:844
word2003格式不對 瀏覽:86
百度雲怎麼編輯文件在哪裡 瀏覽:304
起名app數據哪裡來的 瀏覽:888
微信怎麼去泡妞 瀏覽:52
百度廣告html代碼 瀏覽:244
qq瀏覽器轉換完成後的文件在哪裡 瀏覽:623
jsp中的session 瀏覽:621
壓縮完了文件去哪裡找 瀏覽:380
武裝突襲3浩方聯機版本 瀏覽:674
網路機頂盒移動網路 瀏覽:391
iphone手機百度雲怎麼保存到qq 瀏覽:148
資料庫設計與實踐讀後感 瀏覽:112
js對象是什麼 瀏覽:744
網頁文件存pdf 瀏覽:567

友情鏈接