- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个显示数据的小应用程序。每个数字都用空格分隔,但是所有数字都出现在表的左上列中,而不是第一列的每一行中。我已经奋斗了一个小时试图让它工作但不能 - 有人可以帮忙
package stackoverflow;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import javax.swing.JTextArea;
import com.sun.java.swing.*;
import javax.swing.table.*;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Learningfromscrach extends JFrame {
//declare all the parts that make up the GUI
private JLabel textJLabel;
private JPanel PanelJlabel;//JLabel is actually a parameter in JAVA
private TitledBorder PanelJborder;
private JButton callsystem;
private JTextArea txtarea;
//private JTable table;
DefaultTableModel model;
JTable table;
String col[] = {"SBP", "SSP", "Period"};
public Learningfromscrach() //tell java to initiate the create interface
{
createUserInterface();//create method private void createUserInterface//aframe is parameter this has to match the private void
}
//private Learningfromscrach() {
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
// }
private void createUserInterface() //all the parts to create the userinterface
{//from here
Container contentPane = getContentPane();
contentPane.setLayout(null);// i am responsible for setting positioning and size of components
setTitle("Cashout Prices");//setTitle is also a JAVA Parameter
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize((int) (screenSize.width / 6), (int) (screenSize.height / 1.1));//cast int for width
setVisible(true); //makes the java application show
PanelJborder = new TitledBorder("Cashout Prices");
PanelJlabel = new JPanel(); //define new component
PanelJlabel.setBounds(16, 50, 400, 2000);
PanelJlabel.setLayout(null);
contentPane.add(PanelJlabel); //add to Pane
String url = "http://bmreports.com/bsp/additional/soapfunctions.php?element=SYSPRICE&dT=NRT";
Document doc = null;
try {
doc = Jsoup.connect(url).get();
} catch (IOException ex) {
Logger.getLogger(Learningfromscrach.class.getName()).log(Level.SEVERE, null, ex);
}
Elements Periodparagraphs;
Elements SSPparagraphs;
Elements SBPparagraphs;
Periodparagraphs = doc.select("SP");//counts the number of SSP Paragraphs in the entire document
SSPparagraphs = doc.select("SSP");//counts the number of SSP Paragraphs in the entire document
SBPparagraphs = doc.select("SBP");//counts the number of SBP Paragraphs in the entire document
String[] numbers0 = Periodparagraphs.text().toString().split(" ");
String[] numbers = SSPparagraphs.text().toString().split(" ");//takes the paragraph which contains all the SSP paragraphs and splits where the space occurs, stored in the array numbers
String[] numbers1 = SBPparagraphs.text().split(" ");
model = new DefaultTableModel(col, 90);//50 is number of rows
table = new JTable(model) {
@Override
public boolean isCellEditable(int arg0, int arg1) {
return false;
}
};
JTableHeader header = table.getTableHeader();
header.setBackground(Color.yellow);
contentPane.add(table);
table.setValueAt(SBPparagraphs.text(), 1, 0); //first number is moves placing down by 2 rows//2nd number is next cclumn and so on
//table.setValueAt("fgfg",0,0);
table.setSize(screenSize.width / 4, (int) (screenSize.height / 1.1));
table.setBounds(16, 50, 400, 2000);
table.setLayout(null);
table.setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
callsystem = new JButton();//creates new button
callsystem.setText("Call System Prices");
callsystem.setBounds(150, 16, 150, 24);
contentPane.add(callsystem);
callsystem.addActionListener(//created buttton that now Java listens for being pressed
new ActionListener()//new listener event created by action
{
public void actionPerformed(ActionEvent event) //action peformed action event event
{
callsystemActionPerformed(event);//call private void
}
}
);
}
private void callsystemActionPerformed(ActionEvent event) {
}
//to hear this all refers to the contentpane
public static void main(String[] args) {
// TODO code application logic here
Learningfromscrach application = new Learningfromscrach();//call learningfromscrach application
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//without this the userinterface cant be called
}
//next step to understand how to get data into the panel
}
最佳答案
您似乎没有将数据添加到表中。
然后,尝试添加以下内容:
...
String[] numbers0 = Periodparagraphs.text().toString().split(" ");
String[] numbers = SSPparagraphs.text().toString().split(" ");//takes the ...
String[] numbers1 = SBPparagraphs.text().split(" ");
int tableRows;
if (numbers0.length > numbers.length && numbers0.length > numbers1.length)
{
tableRows = numbers0.length;
}
else if (numbers.length > numbers0.length && numbers.length > numbers1.length)
{
tableRows = numbers.length;
}
else
{
tableRows = numbers1.length;
}
//model = new DefaultTableModel(col, 90);//50 is number of rows --You don't seem to need this
Object[][] data = new Object[tableRows][3];
for (int x = 0; x < tableRows; x++ )
{
try
{
data[x][0] = numbers1[x];
}
catch (IndexOutOfBoundsException e)
{
data[x][0] = "-";
}
try
{
data[x][1] = numbers[x];
}
catch (IndexOutOfBoundsException e)
{
data[x][1] = "-";
}
try
{
data[x][2] = numbers0[x];
}
catch (IndexOutOfBoundsException e)
{
data[x][2] = "-";
}
}
table = new JTable(data,col)
{
@Override
public boolean isCellEditable(int arg0, int arg1)
{
return false;
}
};
此外,我无法让您的项目正确显示(根本没有,真的)。除了 Flow Layout(我更喜欢 spring)之外,您可能还想探索一些其他布局选项。此外,JScrollPane 确实会有帮助。
关于java - 将数据从左上角单元格移动到第一列的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26391972/
我已经尝试在我的 CSS 中添加一个元素来删除每三个 div 的 margin-right。不过,似乎只是出于某种原因影响了第 3 次和第 7 次。需要它在第 3、6、9 等日工作... CSS .s
如何使 div/input 闪烁或“脉冲”?例如,假设表单字段输入了无效值? 最佳答案 使用 CSS3 类似 on this page ,您可以将脉冲效果添加到名为 error 的类中: @-webk
我目前正在尝试构建一个简单的 wireframe来自 lattice 的情节包,但由沿 y 轴的数百个点组成。这导致绘图被线框网格淹没,您看到的只是一个黑色块。我知道我可以用 col=FALSE 完全
在知道 parent>div CSS 选择器在 IE 中无法识别后,我重新编码我的 CSS 样式,例如: div#bodyMain div#paneLeft>div{/*styles here*/}
我有两个 div,一个在另一个里面。当我将鼠标悬停 到最外面的那个时,我想改变它的颜色,没问题。但是,当我将鼠标悬停 到内部时,我只想更改它的颜色。这可能吗?换句话说,当 将鼠标悬停到内部 div 上
我需要展示这样的东西 有人可以帮忙吗?我可以实现以下输出 我正在使用以下代码:: GridView.builder( scrollDirection: Axis.vertical,
当 Bottom Sheet 像 Android 键盘一样打开时,是否有任何方法可以手动上推布局( ScrollView 或回收器 View 或整个 Activity )?或者你可以说我想以 Bott
我有以下代码,用于使用纯 HTML 和 CSS 显示翻转。当您将鼠标悬停在文本上时,它会更改左右图像。 在我测试的所有浏览器中都运行良好,Safari 4 除外。据我收集的信息,Safari 4 支持
我构建了某种 CMS,但在使用 TinyMCE 和 Bootstrap 时遇到了一些问题。 我有一个页面,其中概述了一个 div,如果用户单击该 div,他们可以从模态中选择图像。该图像被插入到一个
出于某种原因,当我设置一个过渡时,当我的鼠标悬停在一个元素上时,背景会改变颜色,它只适用于一个元素,但它们都共享同一个类?任何帮助我的 CSS .outer_ad { position:rel
好吧,这真的很愚蠢。我不知道 Android Studio 中的调试监视框架发生了什么。我有 1.5.1 的工作室。 是否有一些来自 intellij 的 secret 知识来展示它。 最佳答案 与以
我有这个标记: some code > 我正在尝试获取此布局: 注意:上一个和下一个按钮靠近#player 我正在尝试这样: .nextBtn{
网站:http://avuedesigns.com/index 首页有 6 个菜单项。我希望每件元素在您经过时都有自己的颜色。 这是当您将鼠标悬停在 div 上时将所有内容更改为白色的行 li#hom
我需要在 index.php 文件中显示它,但没有任何效果。我所有的文章都没有正确定位。我将其用作代码: 最佳答案 您可以首先检查您
我是一名优秀的程序员,十分优秀!