gpt4 book ai didi

java - 无法向下滚动

转载 作者:行者123 更新时间:2023-11-30 11:19:31 26 4
gpt4 key购买 nike

出于某种原因,我无法向下滚动任何教导?我尝试添加到面板,然后将面板添加到滚动条,但没有任何效果。我需要一些帮助来解决这个问题,我已经存货好几个小时了。

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.AncestorListener;




public class StartActivity extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -1470898831456146593L;
private JTextField textField;
public JTextField[] textStock = new JTextField[190];
public tags[] tags = new tags[90];
public String[] tg = new String[90];
public JList set = new JList();
private JPanel topPanel;
@SuppressWarnings("resource")
public StartActivity(){

setSize(1800, 900); // create an instance
setBackground(Color.gray);
setFocusable(true);
setLayout(null);
topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
getContentPane().add(new JScrollPane());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//FileReader file = null; // get the tags and their name
//FileReader file2 = null;
InputStreamReader file;
InputStream is = getClass().getResourceAsStream("/resource/tagsName.txt");
InputStream is2 = getClass().getResourceAsStream("/resource/ref.txt");

file = new InputStreamReader(is);
InputStreamReader file2 = new InputStreamReader(is2);
//file = new FileReader("src/resource/tagsName.txt");

BufferedReader br = new BufferedReader(file);
try {
file2 = new FileReader("src/resource/ref.txt");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
BufferedReader br2 = new BufferedReader(file2);



// textField = new JTextField();
// textField.setBounds(35, 136, 86, 20);
// add(textField);
// textField.setColumns(10);
int x = 35;
int y= 136;

for (int i=0 ; i < 190 ; i++){ // add the text field to enter the quote
textStock[i] = new JTextField("");
textStock[i].setBounds(x,y,86,20);
getContentPane().add(textStock[i]);
textStock[i].setColumns(10);
y = y + 25;
if (y > 900){
y = 136;
x = x + 91;
}
}

JLabel label1 = new JLabel("Enter Stock Symbols");
label1.setBounds((x-35)/2, 100, 200, 20);
getContentPane().add(label1);

//addKeyListener(this);


String tg = "";
String rf = "";
x = x + 200;
y= 136;
int i = 0;
int z = x;
try { //
while((tg = br.readLine()) != null){ // add textfields to enter their tags
rf =br2.readLine();
tags[i] = new tags(tg, rf); // tags are a separte method that has their own info
tags[i].setBounds(x, y, 200, 23); // tags are declared as buttons
getContentPane().add(tags[i]);
y = y + 28;
if (y > 900){
y = 136;
x = x + 205;
}
tg = "";
i = i +1;
}
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
try {
br.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JLabel label2 = new JLabel("Choose stock tags Retrival");
label2.setBounds((x+z)/2, 100, 200, 20);
getContentPane().add(label2);

//set = new JList();

JButton list1= new JButton("List 1");
list1.setBounds(35, 100, 89, 23);
list1.addActionListener(this);
getContentPane().add(list1);

JButton clear = new JButton("Clear");
clear.setBounds(130, 100, 89, 23);
clear.addActionListener(this);
getContentPane().add(clear);

JButton clearT = new JButton("Clear Tags");
clearT.setBounds(getWidth()/2, 100, 100, 23);
clearT.addActionListener(this);
getContentPane().add(clearT);

JButton run = new JButton("Run");
run.setBounds(getWidth()/2, 32, 89, 23);
run.addActionListener(this);
getContentPane().add(run);

JButton analyse = new JButton("Analyse");
analyse.setBounds(getWidth()/2 - 200, 32, 89, 23);
analyse.addActionListener(this);
getContentPane().add(analyse);

//Frame frame = (Frame) this.getParent().getParent();
//frame.setTitle(" Financial Analysis");
try {

} catch (Exception e) {
// TODO: handle exception
}


}




public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
/**
* call method depending on their button
*/

System.out.println(arg0.getActionCommand());
if (arg0.getActionCommand()== "Run"){
stockdata();
}
//System.out.println("true");
if (arg0.getActionCommand()== "List 1"){
listSet(1);
}
if (arg0.getActionCommand()== "Analyse"){
choose();
System.out.println(arg0.getActionCommand());
}
if (arg0.getActionCommand()== "Clear"){
clear();
System.out.println(arg0.getActionCommand());
}
if (arg0.getActionCommand()== "Clear Tags"){
clearT();
System.out.println(arg0.getActionCommand());
}

}

private void clearT() {
// TODO Auto-generated method stub
for (int i=0 ; i < 190 ; i++){
try{
tags[i].setState(false);
tags[i].setStatus(false);
}catch(Exception e){

}
}
}




private void clear() {
// TODO Auto-generated method stub
for (int i=0 ; i < 190 ; i++){
textStock[i].setText("");
}
}




private void choose() {
/*
* analyse quotes with parameters that I choose
*/
int m =0;
String[] quotes = new String[200];
int s =0;
String[] tq = new String[20];
String qurl = "http://finance.yahoo.com/d/quotes.csv?s=";
for (int i=0 ; i < 60 ; i++){
String stock =textStock[i].getText();
if (m == 0 && stock != ""){
qurl = qurl + stock ;
m =1 ;
quotes[s] = stock;
s=s+1;
}
else if(stock != ""){
qurl = qurl +"+"+ stock ;
quotes[s] = stock;
s=s+1;
}
}
qurl = qurl + "&f=l1vhgd1rp6";

System.out.println(qurl);
Analysis tab = new Analysis(qurl, quotes); // param are declared in another method
tab.setVisible(true);
}

private void stockdata() {

/*
* retrieves stock data
*/
int m =0;
String[] tq = new String[20];
String[] quotes = new String[200];
int s =0;
String qurl = "http://finance.yahoo.com/d/quotes.csv?s=";
for (int i=0 ; i < 60 ; i++){
String stock =textStock[i].getText();
if (m == 0 && stock != ""){
qurl = qurl + stock ;
quotes[s] = stock;
s=s+1;
m =1 ;
}
else if(stock != ""){
qurl = qurl +"+"+ stock ;
quotes[s] = stock;
//System.out.println(quotes[s]);
s=s+1;
}
}
qurl = qurl + "&f=";
int z =0;
for (int i=0 ; i < 60 ; i++){
if(tags[i].getStatus()){
qurl = qurl + tags[i].getReference();
tq[z]= tags[i].getName();
z =z+1;
}

}

System.out.println(qurl);
// this method retrives data and creates a table to show them
StockData tab = new StockData(qurl, tq, quotes);
tab.setVisible(true);
}
private void listSet(int fileNumber){
// this method populates a set of stocks

InputStream is = getClass().getResourceAsStream("/resource/set"+fileNumber + ".txt");
InputStreamReader file = new InputStreamReader(is);
BufferedReader br = new BufferedReader(file);
String tg;
int i = 0;
try {
while((tg = br.readLine()) != null){
if (i<190){
textStock[i].setText(tg);
i = i +1;

}}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void main( String args[] )
{
StartActivity mainFrame = new StartActivity();
mainFrame.setVisible( true );

}

最佳答案

所以我认为这两行代码是问题所在...

getContentPane().add( topPanel );  
getContentPane().add(new JScrollPane());

如果我没记错的话,您需要将面板添加到 JScrollPane,然后将 JScrollPane 添加到框架。所以做类似的事情

  getContentPane().add(new JScrollPane(topPanel)); 

我认为这就足够了。

关于java - 无法向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com