- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我一直在尝试让 JScrollPane
在我的页面上工作,但它就是不行!我有一个超出设置范围的表格,我正在尝试对其进行设置,以便我可以向下滚动并查看所有内容。
我尝试将 JScrollPane
添加到所有容器
和面板
,但它不会让步:+| - 我不明白为什么如果我将它分配给 mainCon (this.getContentPane())
它就不起作用,因为如果它确实以这种方式工作,它只会使整个窗口可滚动!
正如你所见,我没有做过任何花哨的布局或任何事情,我只是想让功能正常工作!但我需要先让 JScrollPane 正常工作,然后才能尝试设计所有 GUIS 的样式!
这是我的代码:
public class searchAll extends JFrame implements ActionListener {
private MemTableModel memberTableModel;
private int selectedRow;
//JOptionPane
//Confirm Dialog
private int dialogButton = JOptionPane.YES_NO_OPTION;
//GUI RELATED
private JTable table = new JTable();
//JButtons
private JButton btnDelete = new JButton("Delete");
private JButton btnEdit = new JButton("Edit");
private JButton saveMember = new JButton("Save member");
private JButton btnBack = new JButton("Back");
//Containers, panels
Container mainCon = this.getContentPane();
JPanel formPanel = new JPanel();
//Adding scroll pane here - to formPanel which holds everything.
JScrollPane scrollPane = new JScrollPane(formPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
/*TEXT FIELDS BOXES *******************************/
private JLabel lblName = new JLabel("Name: ");
private JTextField txtName = new JTextField("", 15);
private JLabel lblEmail = new JLabel("Email: ");
private JTextField txtEmail = new JTextField("", 15);
private JLabel lblDescription = new JLabel("Description about you: ");
private JTextArea txtDescription = new JTextArea("", 5, 15);
/*TEXT FIELDS BOXES *******************************/
/*COMBO BOXES *******************************/
private JLabel lblCountry = new JLabel();
private JComboBox comCountry = new JComboBox();
private JLabel lblGenre = new JLabel();
private JComboBox comGenre = new JComboBox();
/*COMBO BOXES *******************************/
/*RADIO BUTTONS *******************************/
private JLabel lblMaleFemale = new JLabel("Gender: ");
private JRadioButton radMale = new JRadioButton("Male: ");
private JRadioButton radFemale = new JRadioButton("Female: ");
private ButtonGroup buttonGroupMF = new ButtonGroup();
private JLabel lblFreePaid = new JLabel("Membership Type: ");
private JRadioButton radFree = new JRadioButton("Free: ");
private JRadioButton radPaid = new JRadioButton("Paid: ");
private ButtonGroup buttonGroupFP = new ButtonGroup();
/*RADIO BUTTONS *******************************/
/*PAID MEMBER STUFF *******************************/
private JLabel lblCardNo = new JLabel("Card Number: ");
private JTextField txtCardNo = new JTextField("", 15);
private JLabel lblExpiry = new JLabel();
private JComboBox comExpiry = new JComboBox();
/*PAID MEMBER STUFF *******************************/
//DB SQL Variables -
private String edName = "";
private String edEmail = "";
private String edDescription = "";
private String edCountry = "";
private String edGenre = "";
private String edGender = "";
private String edMembType = "";
private String edCardNo = "";
private Object edExpiry = "";
private String edSongLim = "";
//DB
private Connection conDB = null;
private Statement stmt = null;
private ResultSet r = null;
//Validation isValid
private boolean isValid;
public searchAll(){
super("Search/Edit/Delete");
this.setBounds(400, 500, 854,400);
// this.setPreferredSize(new Dimension(500,500));
this.setVisible(true);
memberTableModel = new MemTableModel();
//Add table and GUI components
mainCon.add(BorderLayout.NORTH, btnBack);
btnBack.addActionListener(this);
mainCon.add(scrollPane);
mainCon.add(formPanel);
formPanel.setPreferredSize(new Dimension(500,500));
formPanel.add(table);
formPanel.add(btnDelete);
formPanel.add(btnEdit);
//Tried doing this - But didn't work. Just stayed static
// formPanel.add(scrollPane);
//Add action listeners
btnEdit.addActionListener(this);
btnDelete.addActionListener(this);
table.setModel(memberTableModel);
//Set Selection model for table
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
ListSelectionModel rowSM = table.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e){
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
selectedRow = lsm.getMinSelectionIndex();
System.out.println(selectedRow);
}
});
}
//Connection Method
public Connection getConnection(){
Connection conDB = null;
/****** DEFAULT MYSQL DRIVERS **************************/
String url = connection.geturl();
String username = connection.getUsername();
String password = connection.getPassword();
try{
//load the MYSQL driver
Class.forName(connection.getDriver());
conDB = DriverManager.getConnection(url, username, password);
}
catch(Exception e){
System.out.println("Error was: " + e);
}
return conDB;
}
/*-------ACTION PERFORMED ------------------------------*/
int editCounter = 0;
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btnBack){
this.dispose();
}
//DELETE BUTTON BELOW
/*########################################################################*/
if(e.getSource() == btnDelete){
System.out.println("Ran btnDelete");
deleteMember();
}
/*########################################################################*/
//EDIT BUTTON BELOW
/*########################################################################*/
if(e.getSource() == btnEdit){
if(editCounter == 0)
{
System.out.println("Ran btnEdit");
editFunction();
editCounter++;
}
else{
formPanel.repaint();
System.out.println("Stop duplicating form inputs");
}
}
/*########################################################################*/
//SAVE MEMBER BUTTON BELOW
/*########################################################################*/
if(e.getSource() == saveMember){
System.out.println("Ran btnSaveMember");
//UPDATE VALUES
if(radMale.isSelected()){
edGender = "Male";
}
else if(radFemale.isSelected()){
edGender = "Female";
}
if(radPaid.isSelected()){
edMembType = "Paid";
edSongLim = "100";
edCardNo = txtCardNo.getText();
edExpiry = comExpiry.getSelectedItem();
txtCardNo.setEnabled(true);
}
else{
edMembType = "Free";
edSongLim = "10";
edCardNo = "";
edExpiry = "";
txtCardNo.setEnabled(false);
}
//Validate the form
if(txtName.getText().equals(""))
{
isValid = false;
JOptionPane.showMessageDialog(null, "Enter a name please");
}
else{
isValid = true;
if(txtEmail.getText().equals("")){
isValid = false;
JOptionPane.showMessageDialog(null, "Enter an Email please");
}
else
{
isValid = true;
if(txtDescription.getText().equals("")){
isValid = false;
JOptionPane.showMessageDialog(null, "Enter a Description please");
}
else
{
isValid = true;
if(radPaid.isSelected()){
if(txtCardNo.getText().equals("")){
isValid = false;
JOptionPane.showMessageDialog(null, "Enter a Card Number please");
}
else{
isValid = true;
}
}
}
}
}
//If the form is good, execute the update
if(isValid){
saveMember();
}
}//End of saveMember Button
}//End of action performed
/*########################################################################*/
//DELETE MEMBER BELOW
/*#######################DELETE MEMBER####################################*/
public void deleteMember(){
member m = memberTableModel.getRow(selectedRow);
System.out.println("in BTN delete");
try{
//Connection + Statement
conDB = getConnection();
stmt = conDB.createStatement();
String sqlDeleteMem = "delete from members where membId = " + m.getmembId();
//Confirm Dialog - If they click yes dialogResult will = 0
int dialogResult =
JOptionPane.showConfirmDialog(this, "Are you sure you want to delete " + m.getname()
, "Delete Confirmation", dialogButton);
String sqlDeletePlay = "delete from playlist where membId = " + m.getmembId();
if(dialogResult == 0){
stmt.executeUpdate(sqlDeleteMem);
//Delete the playlists associated with the member.
stmt.executeUpdate(sqlDeletePlay);
System.out.println(m.getname() + " Deleted");
}
else{
JOptionPane.showMessageDialog(null, m.getname() + " was not deleted");
}
//Close the DB connection
// stmt.close();
// conDB.close();
}
catch(SQLException er){
System.out.println("Error was: " + er);
}
memberTableModel.LoadTableFromDB();
memberTableModel.fireTableRowsDeleted(selectedRow, selectedRow);
}
/*#########################################################################*/
//SAVE MEMBER BELOW
/*#######################SAVE MEMBER####################################*/
public void saveMember(){
member m = memberTableModel.getRow(selectedRow);
System.out.println("Save member 1");
try{
//CHANGE THE VALUES SO WHEN CLICKS SAVE MEM
/*-------------------------------------*/
//Connection + Statement
conDB = getConnection();
stmt = conDB.createStatement();
//Update Query
String sqlUpdateMem = "UPDATE members SET name = '" + txtName.getText() + "', " +
"email = '" + txtEmail.getText() + "', "
+ "country = '" + comCountry.getSelectedItem() + "', "
+ "favGenre = '" + comGenre.getSelectedItem() + "', "
+ "gender = '" + edGender + "', "
+ "description = '" + txtDescription.getText() + "', "
+ "memberType = '" + edMembType + "', "
+ "songLimit = '" + edSongLim + "', "
+ "card_no = '" + edCardNo + "', "
+ "expiry_date = '" + edExpiry + "' WHERE membId = '"
+ m.getmembId() + "'";
System.out.println(sqlUpdateMem);
System.out.println("Save member 2");
stmt.executeUpdate(sqlUpdateMem);
editCounter = 0;
System.out.println("Updated Member");
//Close the DB connection
conDB.close();
}
catch(SQLException er){
System.out.println("Error was: " + er);
}
}
/*###########################################################################*/
//ADD INPUT FIELDS BELOW
/*#######################INPUT FIELDS####################################*/
public void showInputFields(){
formPanel.setLayout(new FlowLayout());
/*TEXT FIELDS BOXES *******************************/
formPanel.add(lblName);
formPanel.add(txtName);
formPanel.add(lblEmail);
formPanel.add(txtEmail);
formPanel.add(lblDescription);
formPanel.add(txtDescription);
/*TEXT FIELDS BOXES *******************************/
/*COMBO BOXES *******************************/
//Combo Box ( Countrys )
formPanel.add(lblCountry);
formPanel.add(comCountry);
comCountry.addItem("Australia");
comCountry.addItem("New Zealand");
comCountry.addItem("Tasmania");
comCountry.addActionListener(this);
//Combo Box ( Fav Genre )
formPanel.add(lblGenre);
formPanel.add(comGenre);
comGenre.addItem("Pop");
comGenre.addItem("Rock");
comGenre.addItem("Alternative");
comGenre.addItem("Jazz");
comGenre.addItem("Hip/Hop");
comGenre.addActionListener(this);
/*COMBO BOXES *******************************/
/*RADIO BUTTONS BOXES *******************************/
//Radio Buttons (Male/Female)
buttonGroupMF.add(radMale);
buttonGroupMF.add(radFemale);
formPanel.add(radMale);
formPanel.add(radFemale);
radMale.addActionListener(this);
radFemale.addActionListener(this);
//Free or paid members ------
buttonGroupFP.add(radFree);
buttonGroupFP.add(radPaid);
formPanel.add(radFree);
formPanel.add(radPaid);
radFree.addActionListener(this);
radPaid.addActionListener(this);
//Free or paid members ------
/*RADIO BUTTONS BOXES *******************************/
/*PAID MEMBER GUI *******************************/
formPanel.add(lblCardNo);
formPanel.add(txtCardNo);
//Hide
lblCardNo.setVisible(true);
txtCardNo.setVisible(true);
formPanel.add(lblExpiry);
formPanel.add(comExpiry);
comExpiry.addItem("2017");
comExpiry.addItem("2018");
comExpiry.addItem("2019");
//Hide
lblExpiry.setVisible(true);
comExpiry.setVisible(true);
comExpiry.addActionListener(this);
/*PAID MEMBER GUI *******************************/
//Add the button after everything
formPanel.add(saveMember);
saveMember.addActionListener(this);
}
/*###########################################################################*/
//EDIT MEMBER BELOW
/*#######################EDIT MEMBER####################################*/
public void editFunction(){
member m = memberTableModel.getRow(selectedRow);
System.out.println("in BTN edit 1");
//Add boolean value here - Can submit
showInputFields();
try{
System.out.println(" hihi" + m.getmembId());
//Connection + Statement
conDB = getConnection();
stmt = conDB.createStatement();
System.out.println(" hihi" + m.getmembId());
System.out.println("in BTN edit 2");
String sqlEdit = "select * from members where membId = " + m.getmembId();
r = stmt.executeQuery(sqlEdit);
System.out.println("in BTN edit 3");
if(r.next()){
System.out.println("in BTN edit 4");
//Set text for each TextField - Also assign the values to variables
//The variables are used in the SQL UPDATE Query.
//SET THE VALUES FOR THE INPUT FIELDS FROM DB ----------
txtName.setText(r.getString("name"));
txtEmail.setText(r.getString("email"));
txtDescription.setText(r.getString("description"));
comCountry.setSelectedItem(r.getString("country"));
comGenre.setSelectedItem(r.getString("favGenre"));
txtCardNo.setText(r.getString("card_no"));
comExpiry.setSelectedItem(r.getString("expiry_date"));
if(r.getString("memberType").equals("Paid")){
radPaid.setSelected(true);
}
else{
radFree.setSelected(true);
}
if(r.getString("gender").equals("Male")){
radMale.setSelected(true);
// edGender = "Male";
}
else{
radFemale.setSelected(true);
// edGender = "Female";
}
//---------------------------------------------------------
System.out.println("in BTN edit 5");
}
}
catch(SQLException er){
System.out.println("Error was: " + er);
}
memberTableModel.LoadTableFromDB();
System.out.println("in BTN edit 6");
System.out.println("in BTN edit 7");
}
/*##########################################################################*/
}
最佳答案
JPanel formPanel = new JPanel();
//Adding scroll pane here - to formPanel which holds everything.
JScrollPane scrollPane = new JScrollPane(formPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
...
mainCon.add(scrollPane);
mainCon.add(formPanel);
您不应该在代码中重新影响 formPanel
(它将丢失其已分配的父级),只需添加已包含您的 formPanel
的 scrollPane
>
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
public class Test2 {
public static void main(String args[]) throws Exception {
new SearchAll().setVisible(true);
}
public static class SearchAll extends JFrame implements ActionListener {
private int selectedRow;
//JOptionPane
//Confirm Dialog
private int dialogButton = JOptionPane.YES_NO_OPTION;
//GUI RELATED
private JTable table = new JTable();
//JButtons
private JButton btnDelete = new JButton("Delete");
private JButton btnEdit = new JButton("Edit");
private JButton saveMember = new JButton("Save member");
private JButton btnBack = new JButton("Back");
//Containers, panels
Container mainCon = this.getContentPane();
JPanel formPanel = new JPanel();
//Adding scroll pane here - to formPanel which holds everything.
JScrollPane scrollPane = new JScrollPane(formPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
/*TEXT FIELDS BOXES *******************************/
private JLabel lblName = new JLabel("Name: ");
private JTextField txtName = new JTextField("", 15);
private JLabel lblEmail = new JLabel("Email: ");
private JTextField txtEmail = new JTextField("", 15);
private JLabel lblDescription = new JLabel("Description about you: ");
private JTextArea txtDescription = new JTextArea("", 5, 15);
/*TEXT FIELDS BOXES *******************************/
/*COMBO BOXES *******************************/
private JLabel lblCountry = new JLabel();
private JComboBox comCountry = new JComboBox();
private JLabel lblGenre = new JLabel();
private JComboBox comGenre = new JComboBox();
/*COMBO BOXES *******************************/
/*RADIO BUTTONS *******************************/
private JLabel lblMaleFemale = new JLabel("Gender: ");
private JRadioButton radMale = new JRadioButton("Male: ");
private JRadioButton radFemale = new JRadioButton("Female: ");
private ButtonGroup buttonGroupMF = new ButtonGroup();
private JLabel lblFreePaid = new JLabel("Membership Type: ");
private JRadioButton radFree = new JRadioButton("Free: ");
private JRadioButton radPaid = new JRadioButton("Paid: ");
private ButtonGroup buttonGroupFP = new ButtonGroup();
/*RADIO BUTTONS *******************************/
/*PAID MEMBER STUFF *******************************/
private JLabel lblCardNo = new JLabel("Card Number: ");
private JTextField txtCardNo = new JTextField("", 15);
private JLabel lblExpiry = new JLabel();
private JComboBox comExpiry = new JComboBox();
/*PAID MEMBER STUFF *******************************/
//DB SQL Variables -
private String edName = "";
private String edEmail = "";
private String edDescription = "";
private String edCountry = "";
private String edGenre = "";
private String edGender = "";
private String edMembType = "";
private String edCardNo = "";
private Object edExpiry = "";
private String edSongLim = "";
//DB
private Connection conDB = null;
private Statement stmt = null;
private ResultSet r = null;
//Validation isValid
private boolean isValid;
public SearchAll(){
super("Search/Edit/Delete");
this.setBounds(400, 500, 854,400);
// this.setPreferredSize(new Dimension(500,500));
this.setVisible(true);
//Add table and GUI components
mainCon.add(BorderLayout.NORTH, btnBack);
btnBack.addActionListener(this);
mainCon.add(scrollPane);
formPanel.add(table);
formPanel.add(btnDelete);
formPanel.add(btnEdit);
//Tried doing this - But didn't work. Just stayed static
// formPanel.add(scrollPane);
//Add action listeners
btnEdit.addActionListener(this);
btnDelete.addActionListener(this);
//Set Selection model for table
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setModel(new DefaultTableModel(100, 8));
ListSelectionModel rowSM = table.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e){
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
selectedRow = lsm.getMinSelectionIndex();
System.out.println(selectedRow);
}
});
}
/*-------ACTION PERFORMED ------------------------------*/
int editCounter = 0;
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btnBack){
this.dispose();
}
//DELETE BUTTON BELOW
/*########################################################################*/
if(e.getSource() == btnDelete){
System.out.println("Ran btnDelete");
}
/*########################################################################*/
//EDIT BUTTON BELOW
/*########################################################################*/
if(e.getSource() == btnEdit){
if(editCounter == 0)
{
System.out.println("Ran btnEdit");
editCounter++;
}
else{
formPanel.repaint();
System.out.println("Stop duplicating form inputs");
}
}
/*########################################################################*/
//SAVE MEMBER BUTTON BELOW
/*########################################################################*/
if(e.getSource() == saveMember){
System.out.println("Ran btnSaveMember");
//UPDATE VALUES
if(radMale.isSelected()){
edGender = "Male";
}
else if(radFemale.isSelected()){
edGender = "Female";
}
if(radPaid.isSelected()){
edMembType = "Paid";
edSongLim = "100";
edCardNo = txtCardNo.getText();
edExpiry = comExpiry.getSelectedItem();
txtCardNo.setEnabled(true);
}
else{
edMembType = "Free";
edSongLim = "10";
edCardNo = "";
edExpiry = "";
txtCardNo.setEnabled(false);
}
//Validate the form
if(txtName.getText().equals(""))
{
isValid = false;
JOptionPane.showMessageDialog(null, "Enter a name please");
}
else{
isValid = true;
if(txtEmail.getText().equals("")){
isValid = false;
JOptionPane.showMessageDialog(null, "Enter an Email please");
}
else
{
isValid = true;
if(txtDescription.getText().equals("")){
isValid = false;
JOptionPane.showMessageDialog(null, "Enter a Description please");
}
else
{
isValid = true;
if(radPaid.isSelected()){
if(txtCardNo.getText().equals("")){
isValid = false;
JOptionPane.showMessageDialog(null, "Enter a Card Number please");
}
else{
isValid = true;
}
}
}
}
}
//If the form is good, execute the update
if(isValid){
}
}//End of saveMember Button
}//End of action performed
/*########################################################################*/
//DELETE MEMBER BELOW
/*#######################DELETE MEMBER####################################*/
/*#########################################################################*/
//SAVE MEMBER BELOW
/*#######################SAVE MEMBER####################################*/
/*###########################################################################*/
//ADD INPUT FIELDS BELOW
/*#######################INPUT FIELDS####################################*/
public void showInputFields(){
formPanel.setLayout(new FlowLayout());
/*TEXT FIELDS BOXES *******************************/
formPanel.add(lblName);
formPanel.add(txtName);
formPanel.add(lblEmail);
formPanel.add(txtEmail);
formPanel.add(lblDescription);
formPanel.add(txtDescription);
/*TEXT FIELDS BOXES *******************************/
/*COMBO BOXES *******************************/
//Combo Box ( Countrys )
formPanel.add(lblCountry);
formPanel.add(comCountry);
comCountry.addItem("Australia");
comCountry.addItem("New Zealand");
comCountry.addItem("Tasmania");
comCountry.addActionListener(this);
//Combo Box ( Fav Genre )
formPanel.add(lblGenre);
formPanel.add(comGenre);
comGenre.addItem("Pop");
comGenre.addItem("Rock");
comGenre.addItem("Alternative");
comGenre.addItem("Jazz");
comGenre.addItem("Hip/Hop");
comGenre.addActionListener(this);
/*COMBO BOXES *******************************/
/*RADIO BUTTONS BOXES *******************************/
//Radio Buttons (Male/Female)
buttonGroupMF.add(radMale);
buttonGroupMF.add(radFemale);
formPanel.add(radMale);
formPanel.add(radFemale);
radMale.addActionListener(this);
radFemale.addActionListener(this);
//Free or paid members ------
buttonGroupFP.add(radFree);
buttonGroupFP.add(radPaid);
formPanel.add(radFree);
formPanel.add(radPaid);
radFree.addActionListener(this);
radPaid.addActionListener(this);
//Free or paid members ------
/*RADIO BUTTONS BOXES *******************************/
/*PAID MEMBER GUI *******************************/
formPanel.add(lblCardNo);
formPanel.add(txtCardNo);
//Hide
lblCardNo.setVisible(true);
txtCardNo.setVisible(true);
formPanel.add(lblExpiry);
formPanel.add(comExpiry);
comExpiry.addItem("2017");
comExpiry.addItem("2018");
comExpiry.addItem("2019");
//Hide
lblExpiry.setVisible(true);
comExpiry.setVisible(true);
comExpiry.addActionListener(this);
/*PAID MEMBER GUI *******************************/
//Add the button after everything
formPanel.add(saveMember);
saveMember.addActionListener(this);
}
/*###########################################################################*/
//EDIT MEMBER BELOW
/*#######################EDIT MEMBER####################################*/
/*##########################################################################*/
}
}
关于java - 无论我将 JScrollPane 分配给哪个面板或容器,它都无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30801313/
我有一个应用程序,它会抛出 GKSession 并在各种条件下(连接超时、 session 失败等)创建一个新的 GKSession。不过,我遇到了内存泄漏问题,并且有时会在重新连接几次循环后崩溃。
比如我在宿主代码中有一个浮点指针 float *p 是否可以确定他指向的内存类型(设备/主机)? 最佳答案 在 UVA system 中, 运行时 API 函数 cudaPointerGetAttri
我已将项目转换为 .Net 4.0 并且以下代码不起作用: typeof(RuntimeTypeHandle).GetMethod("Allocate", BindingFlags.Instance
当我声明 char ch = 'ab' 时,ch 只包含 'b',为什么它不存储 'a'? #include int main() { char ch = 'ab'; printf("%c"
我对 Disk Sector 和 Block 有疑问。扇区是一个单位,通常为 512 字节或 1k、2k、4k 等取决于硬件。文件系统 block 大小是一组扇区大小。 假设我正在存储一个 5KB 的
假设我有 8 个人和5000 个苹果。 我想将所有苹果分发给所有 8 个人,这样我就没有苹果了。 但每个人都应该得到不同数量 将它们全部分发出去的最佳方式是什么? 我是这样开始的: let peopl
我正在构建的网站顶部有一个搜索栏。与 Trello 或 Gmail 类似,我希望当用户按下“/”键时,他们的焦点就会转到该搜索框。 我的 JavaScript 看起来像这样: document.onk
我有一小段代码: if (PZ_APP.dom.isAnyDomElement($textInputs)){ $textInputs.on("focus", function(){
我观察到以下行为。 接受了两个属性变量。 @property (nonatomic, retain) NSString *stringOne; @property (nonatomic, assign
我正在解决这样的问题 - 实现一个计算由以下内容组成的表达式的函数以下操作数:“(”、“)”、“+”、“-”、“*”、“/”。中的每个数字表达式可能很大(与由字符串表示的一样大)1000 位)。 “/
我有一组主机和一组任务。 每个主机都有 cpu、mem 和任务容量,每个任务都有 cpu、mem 要求。 每个主机都属于一个延迟类别,并且可以与具有特定延迟值的其他主机通信。 每个任务可能需要以等于或
该程序的作用:从文件中读取一个包含 nrRows 行和 nrColomns 列的矩阵(二维数组)。矩阵的所有元素都是 [0,100) 之间的整数。程序必须重新排列矩阵内的所有元素,使每个元素等于其所在
世界!我有个问题。今天我尝试创建一个代码,它可以找到加泰罗尼亚语号码。但是在我的程序中可以是长数字。我找到了分子和分母。但我不能分割长数字!此外,只有标准库必须在此程序中使用。请帮帮我。这是我的代码
我确定我遗漏了一些明显的东西,但我想在 Objective C 中创建一个 NSInteger 指针的实例。 -(NSInteger*) getIntegerPointer{ NSInteger
这个问题在这里已经有了答案: Difference between self.ivar and ivar? (4 个答案) 关闭 9 年前。
我如何将 v[i] 分配给一系列整数(v 的类型是 vector )而无需最初填充 最佳答案 你的意思是将 std::vector 初始化为一系列整数? int i[] = {1, 2, 3, 4,
我想寻求分配方面的帮助....我把这个作业带到了学校......我必须编写程序来加载一个 G 矩阵和第二个 G 矩阵,并搜索第二个 G 矩阵以获取存在数第一个 G 矩阵的......但是,当我尝试运行
我必须管理资源。它基本上是一个唯一的编号,用于标识交换机中的第 2 层连接。可以有 16k 个这样的连接,因此每次用户希望配置连接时,他/她都需要分配一个唯一索引。同样,当用户希望删除连接时,资源(号
是否有任何通用的命名约定来区分已分配和未分配的字符串?我正在寻找的是希望类似于 us/s 来自 Making Wrong Code Look Wrong ,但我宁愿使用常见的东西也不愿自己动手。 最佳
我需要读取一个 .txt 文件并将文件中的每个单词分配到一个结构中,该结构从结构 vector 指向。我将在下面更好地解释。 感谢您的帮助。 我的程序只分配文件的第一个字... 我知道问题出在函数 i
我是一名优秀的程序员,十分优秀!