『壹』 java 怎麼在JtextArea里設置滾動條
這個要藉助JScrollPane
定義是要這樣的:
JPanel p=new JPanel();
JTextArea text = new JTextArea();
JScrollPane text2=new JScrollPane(text);
然後把text2加入面板中就ok了
p.add(text2);
『貳』 java GUI 滾動條
程序如下:
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class JscrollDemo extends JFrame
{
private JScrollPane btnPanel;
private JPanel panel;
private JButton button;
int btnNum = 10; //按鈕數,可以是任意數
int closNum = 4;//每行按鈕數,可自定義
public JscrollDemo()
{
panel = new JPanel();
setTitle("滾動條測試");
setBounds((Toolkit.getDefaultToolkit().getScreenSize().width - 500)/2,
(Toolkit.getDefaultToolkit().getScreenSize().height - 500)/2, 500, 400);
panel.setLayout(new GridLayout(0,closNum));
for(int i=0;i<btnNum;i++)
{
button = new JButton("按鈕" + (i+1));
button.setSize(100, 80);
panel.add(button);
}
if((btnNum*1.0/closNum) > 3)
{
btnPanel = new JScrollPane(panel,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
}
else
{
btnPanel = new JScrollPane(panel,
JScrollPane.VERTICAL_SCROLLBAR_NEVER,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
}
add(btnPanel);
setVisible(true);
setResizable(false);
}
public static void main(String[] args)
{
new JscrollDemo();
}
}
有問題歡迎提問,滿意請採納,謝謝!
『叄』 Java的JPanel(流式布局)添加到JScrollPane滾動窗格後垂直滾動條不正常且流式布局特點沒了求解答。
額,不知道這樣是你要的不:
首先你的jscrollPane要這樣設置:
JscrollPane.getHorizontalScrollBar().setAutoscrolls(false);
JscrollPane.getVerticalScrollBar().setAutoscrolls(true);
這樣你的滾動條就只會顯示豎線。
接下來是關鍵:
將jp.setlayout(new ModifiedFlowLayout());這個布局是繼承flowlayout的。
也就是說將布局改為下面這個布局就可以了:
import java.awt.*;
public class ModifiedFlowLayout extends FlowLayout{
public ModifiedFlowLayout(){
super();
}
public ModifiedFlowLayout(int align){
super(align);
}
public ModifiedFlowLayout(int align,int hgap,int vgap){
super(align, hgap, vgap);
}
public Dimension minimumLayoutSize(Container target){
// Size of largest component, so we can resize it in
// either direction with something like a split-pane.
return computeMinSize(target);
}
public Dimension preferredLayoutSize(Container target){
return computeSize(target);
}
private Dimension computeSize(Container target){
synchronized(target.getTreeLock()){
int hgap = getHgap();
int vgap = getVgap();
int w = target.getWidth();
// Let this behave like a regular FlowLayout (single row)
// if the container hasn't been assigned any size yet
if(w ==0){
w =Integer.MAX_VALUE;
}
Insets insets = target.getInsets();
if(insets ==null){
insets =newInsets(0,0,0,0);
}
int reqdWidth =0;
int maxwidth = w -(insets.left + insets.right + hgap *2);
int n = target.getComponentCount();
int x =0;
int y = insets.top + vgap;// FlowLayout starts by adding vgap, so do that here too.
int rowHeight =0;
for(int i =0; i < n; i++){
Component c = target.getComponent(i);
if(c.isVisible()){
Dimension d = c.getPreferredSize();
if((x ==0)||((x + d.width)<= maxwidth)){
// fits in current row.
if(x >0){
x += hgap;
}
x += d.width;
rowHeight =Math.max(rowHeight, d.height);
}
else{
// Start of new row
x = d.width;
y += vgap + rowHeight;
rowHeight = d.height;
}
reqdWidth =Math.max(reqdWidth, x);
}
}
y += rowHeight;
y += insets.bottom;
return new Dimension(reqdWidth+insets.left+insets.right, y);
}
}
private Dimension computeMinSize(Container target){
synchronized(target.getTreeLock()){
int minx =Integer.MAX_VALUE;
int miny =Integer.MIN_VALUE;
boolean found_one =false;
int n = target.getComponentCount();
for(int i =0; i < n; i++){
Component c = target.getComponent(i);
if(c.isVisible()){
found_one =true;
Dimension d = c.getPreferredSize();
minx =Math.min(minx, d.width);
miny =Math.min(miny, d.height);
}
}
if(found_one){
return new Dimension(minx, miny);
}
return new Dimension(0,0);
}
}
}
『肆』 java JTable 滾動條問題 新手求解!!!
要實現自動添加滾動條必須使用scrollpanel的,scrollpanel上面加表格,scrollpanel的layout和普通界面一樣可以設置固定位置布局的,要注意表格要加到滾動面板的滾動元素中
『伍』 Java swing怎麼搞出滾動條
增加滾動條的方法:
//分別設置水平和垂直滾動條總是出現
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//分別設置水平和垂直滾動條自動出現
//scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
『陸』 java 聊天界面 空布局,加滾動條panel.add(scroll);scroll.setBounds( , , , );怎麼填
scroll.setBounds( , , , );
參數分別為 x,y,width,height
width和height可能順序不對
分別的意思就是
x: 相對於容器最左邊的距離,
y:相對於容器最上面的距離,
width:水平長度
height:垂直高度
然後我估計你就知道怎麼寫了
不過值得一提的是一般來說只有布局方式為null的時候setBounds才有用。
『柒』 在java中窗體中添加了一個文本框,只有垂直滾動條,請問怎麼添加上水平滾動條
JFrame 中添加了一JPanel JPanel里有一JTextArea
向JTextArea中添加滾動條
JTextArea txaDisplay = new JTextArea();
JScrollPane scroll = new JScrollPane(txaDisplay);
//分別設置水平和垂直滾動條自動出現
scroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scroll.getViewport().add(txaDisplay);
JPanel jpanel=new JPanel();
jpanel.add(scroll);
or
//分別設置水平和垂直滾動條總是出現
scroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
『捌』 JAVA中jpanel加滾動條為什麼加不成功
JScrollPane scroll = new JScrollPane(JPanel);請吧需要添加滾動的Jpanel放到JScrollPanel的構造函數中。
然後再需要添加JPanle的位置,將這個放置了Jpanel的JscrollPanel添加進去。
『玖』 java中如何創建一個帶滾動條的窗體
例子:
我們設置公交車10秒鍾跑一趟,陸陸續續來的客戶端輸入的數據,
公交車來了,沒人空跑一圈 不執行,相當於不顯示,
公交車來了,站點有5個人就是拉5個人走,相當於執行5條數據,
公交車來了,站點一次性來了50個人但是公交車到了10秒鍾要走了,只有20個上車了,就只帶走這20個乘客,剩下的30個人只能等下一趟公交車了,相當於這一趟只執行20條數據,剩下的數據將會和後來的數據一起在10秒鍾結束的時候一起執行。
未分組按照Processingtime時間執行:
public class Tumbling {
public static void main(String[] args) throws Exception{
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource lines = env.socketTextStream("localhost", 8888);
SingleOutputStreamOperator upper = lines.map(Integer::parseInt);
//設置發車的時間
AllWindowedStream all = upper.windowAll(TumblingProcessingTimeWindows.of(Time.seconds(5)));
//將乘客相加
SingleOutputStreamOperator summed = all.sum(0);
summed.print();
env.execute();
}
}
分組按照Processingtime時間執行:
public class Tumbling2 {
public static void main(String[] args) throws Exception{
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource lines = env.socketTextStream("localhost", 8888);
//設置分組
SingleOutputStreamOperator> wordAndOne = lines.map(new MapFunction>() {
@Override
public Tuple2 map(String value) throws Exception {
return Tuple2.of(value, 1);
}
});
KeyedStream, Tuple> keyed = wordAndOne.keyBy(0);
//設置發車的時間
WindowedStream, Tuple, TimeWindow> window = keyed.window(TumblingProcessingTimeWindows.of(Time.seconds(5)));
//將乘客相加
SingleOutputStreamOperator> summed = window.sum(1);
summed.print();
env.execute();
}
}
『拾』 java局部panel添加滾動條
把panel放到ScrollPane中,設置ScrollPane的位置及大小,再通過panel的setPreferredSize設置panel大小即可,當設置的大小超過ScrollPane大小時,ScrollPane就會出現滾動條,注意ScrollPane採用默認LayoutManager即可,不用去設置LayoutManager