我正在Netbeans IDE 8.2中制作一个商店,由于这个错误,我无法编译。我试着通过添加JComboBox来修复它,但是它没有解决我的问题。这个应用程序的网页版运行良好,但我无法编译它。当使用Xlint:Unchecked运行时,这是一个警告:[unchecked]作为原始类型JComboBox list.addItem(s)的成员对addItem(E)的未检查调用;其中E是一个类型变量:E扩展了JComboBox 1警告类中声明的对象
package warstwa_klienta_desktop;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.BoxLayout;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
public class Produkty_form extends JPanel {
private JTable tabela_produktow;
MyTableModel model;
JComboBox<String> lista_produktow;
public void init() {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
model = new MyTableModel();
tabela_produktow = new JTable(model);
table_content();
tabela_produktow.setPreferredScrollableViewportSize(new Dimension(800, 100));
tabela_produktow.setFillsViewportHeight(true);
tabela_produktow.getSelectionModel().addListSelectionListener(new RowListener());
add(new JScrollPane(tabela_produktow));
JLabel lprodukty = new JLabel("Produkty");
add(lprodukty);
JComboBox<String>lista_produktow = new JComboBox<>();
add(lista_produktow);
}
void table_content() {
ArrayList<ArrayList<String>> produkty = GUI_main.getFacade().items();
model.setData(produkty);
tabela_produktow.repaint();
}
private void list_content(ArrayList<ArrayList<String>> col, JComboBox list) {
ArrayList<String> s;
list.removeAllItems();
Iterator<ArrayList<String>> iterator = col.iterator();
while (iterator.hasNext()) {
s = iterator.next();
list.addItem(s);
}
}
void print_produkty() {
ArrayList<ArrayList<String>> help3 = GUI_main.getFacade().items();
if (help3 != null) {
list_content(help3, lista_produktow);
}
}
private class RowListener implements ListSelectionListener {
@Override
public void valueChanged(ListSelectionEvent event) {
if (event.getValueIsAdjusting()) {
return;
}
print_produkty();
}
}
class MyTableModel extends AbstractTableModel {
private final String[] columnNames = {"Id produktu", "Nazwa", "Cena",
"Promocja", "Data", "Cena brutto"};
private ArrayList<ArrayList<String>> data;
public void setData(ArrayList<ArrayList<String>> val) {
data = val;
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public int getRowCount() {
return data.size();
}
@Override
public String getColumnName(int col) {
return columnNames[col];
}
@Override
public Object getValueAt(int row, int col) {
return data.get(row).get(col);
}
}
}
GUI_ main看起来像这样
package warstwa_klienta_desktop;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.ejb.EJB;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import warstwa_biznesowa_ejb.Fasada_warstwy_biznesowej_ejbRemote;
public class GUI_main implements ActionListener {
@EJB
private static Fasada_warstwy_biznesowej_ejbRemote fasada;
static JPanel cards;
static CardLayout cl;
static Pusty_form card0 = new Pusty_form();
static Produkt_form card1 = new Produkt_form();
static Produkty_form card2 = new Produkty_form();
final static String PUSTY = "Pusty";
final static String PRODUKT = "Produkt form";
final static String PRODUKTY = "Produkty form";
static public Fasada_warstwy_biznesowej_ejbRemote getFacade() {
return fasada;
}
public JMenuBar createMenuBar() {
JMenuBar menuBar;
JMenu menu, submenu;
JMenuItem menuItem;
menuBar = new JMenuBar();
menu = new JMenu("A Menu");
menu.setMnemonic(KeyEvent.VK_A);
menuBar.add(menu);
menuItem = new JMenuItem(PRODUKT, KeyEvent.VK_P);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_1, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem(PRODUKTY);
menuItem.setMnemonic(KeyEvent.VK_R);
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem(PUSTY);
menuItem.setMnemonic(KeyEvent.VK_U);
menuItem.addActionListener(this);
menu.add(menuItem);
menu.addSeparator();
submenu = new JMenu("A submenu");
submenu.setMnemonic(KeyEvent.VK_A);
menuItem = new JMenuItem(PUSTY);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_2, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
submenu.add(menuItem);
menuItem = new JMenuItem(PUSTY);
menuItem.setMnemonic(KeyEvent.VK_S);
menuItem.addActionListener(this);
submenu.add(menuItem);
menu.add(submenu);
menu = new JMenu("Inne Menu");
menu.setMnemonic(KeyEvent.VK_I);
menuBar.add(menu);
return menuBar;
}
public Container createContentPane() {
card1.init();
card2.init();
cards = new JPanel(new CardLayout());
cards.add(card0, PUSTY);
cards.add(card1, PRODUKT);
cards.add(card2, PRODUKTY);
JPanel p1 = new JPanel();
p1.add(cards, BorderLayout.CENTER);
return p1;
}
public static void updateProdukty_form() {
card2.table_content();
cl.show(cards, PRODUKTY);
}
@Override
public void actionPerformed(ActionEvent e) {
JMenuItem source = (JMenuItem) (e.getSource());
// CardLayout cl = (CardLayout) (cards.getLayout());
cl = (CardLayout) (cards.getLayout());
switch (source.getText()) {
case PRODUKT:
cl.show(cards, PRODUKT);
break;
case PRODUKTY:
updateProdukty_form();
break;
case PUSTY:
cl.show(cards, PUSTY);
break;
default:
break;
}
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("MenuDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(900, 400);
GUI_main demo = new GUI_main();
frame.setJMenuBar(demo.createMenuBar());
frame.setContentPane(demo.createContentPane());
frame.setVisible(true);
}
public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
}
我一直在复制向日葵android架构最佳实践应用程序,到目前为止速度很慢但很成功,虽然我的代码正常工作,但它显示了一条未经检查的消息,所以我运行了它要求的命令,它说: [unchecked]未选中对作为原始类型ListAdapter成员的submitList(List)的调用,其中T是类型变量:T扩展类ListAdapper中声明的对象 这可能是不重要的,但它是烦人的我,一个我用作参考从来没有任何
问题内容: 令人反感的代码 错误: 不确定这样的错误需要多少信息。 问题答案: 问题在于上面的代码没有使用泛型。 以下将起作用: (如果为,则为要保存的元素的type参数)内部的类型名称告诉编译器应期望的对象类型。 如果尝试添加一个指定类型的对象(例如,在这种情况下,尝试添加和),则会发生编译时错误,这表明正在使用一种非预期类型的对象添加。 就是说,应该尽量不要使用该类。为了更多的目的,例如从
我在应用程序启动时从数据库中检索一些默认值,并使用它来设置活动中微调器项的选定值。 代码工作正常,但问题是我在Android Studio中收到一个警告,警告对a.getPosition调用中作为原始类型“android.widget.ArrayAdapter”成员的“getposition(T)”的未检查调用。 我很高兴它的工作,但新的Android和Java我想了解和消除尽可能多的警告,从我的
问题内容: 我的代码如下 “ try”块中的分配会导致警告说明 为什么是这样? 问题答案: 好吧,首先让我们弄清楚问题出在哪里-它在演员表中。这是一个简短的示例: 这仍然有同样的问题。问题在于强制类型转换实际上不会测试任何东西- 因为强制类型转换将有效地转换为原始类型。因为这有点让人惊讶,因为实际上对象 确实 知道所涉及的类,但是考虑类似的情况: 该类型转换将不会检查它是否 确实 是a ,因为该信
我正在关注Udacity上的Google Android教程,但在指定的代码中,我收到以下警告: 对“execute”的未检查调用(参数...)”作为原始类型“android.os.AsyncTask”的成员 关于此代码: 做某事任务: 任何人都可以解释这个警告以及如何解决它?它似乎应该按照说明工作...
奇怪的情况-下面是代码: 构建项目时(在项目属性中使用编译器选项Xlint:unchecked),我得到一个警告: 警告:[未选中]未选中的强制转换 ArrayList list=(ArrayList)obj[1]; 必需:ArrayList 找到:对象 但用同样的方法来浇铸字符串是可以的。这里有什么问题?