Beleške za PS
FORMATIRANE PS BELESKE
FORME
* jdialog vljd po zatvaranju ne zatvara roditelj formu
*DRUGI JFRAME SE NE ZATVARA PRVI AKO GA ZATVORIS NA X
JFrame drugi = new DrugiJFrame();
drugi.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
drugi.setVisible(true);
*dodavanje slike na labelu(moze I na dugme)
ImageIcon ikona = new ImageIcon("C:UsersUSEROneDriveDocumentsNetBeansProjectskonf_zajsrcslikes.png");
Image slika = ikona.getImage().getScaledInstance(jLabel2.getWidth(), jLabel2.getHeight(), Image.SCALE_SMOOTH);
jLabel2.setIcon(new ImageIcon(slika));
*panel-ovo je imenovana border oko panela, panel->properties-> border-> titledborder-> position(top)
*joption sa vise izbora
String selection = (String) JOptionPane.showInputDialog(this, "Select University: ", "University Selection", JOptionPane.QUESTION_MESSAGE,
null, names, names[0]); -names je lista , names[0] podrazumevano
*jos neka podesavanja
JFrame mainForm = new JFrame("Moja glavna forma");-ovo je naslov
mainForm.setResizable(false);
setLocationRelativeTo(null) u init;
CHECKBOX
*promena stanja checkboxa
events-> item-
> itemstatechanged
, aktivira se I kad je selektovan I odselektovan
ComboBox
*postavljanje comboboxa na vrednost enuma
properties->model-> new DefaultComboBoxModel<Enum>(Enum.values())
u suppressed warnings importuj klasu
*nijedna stavka nije izabrana u comboboxu po otvaranju
jcombobox.setSelectedIndex(-1)
*reagovanje na promenu izabrane stavke u comboboxu
events->Action-> ActionPerformed
*postavljanje comboboxa na kolonu tabele
TableColumn kol1=jTable1.getColumnModel().getColumn(3);
JComboBox<Zvanje> combo1=new JComboBox<>();
kol1.setCellEditor(new DefaultCellEditor(combo1));
combo1.setModel(new DefaultComboBoxModel<>(Zvanje.values())); //mora da se napuni combobox
*osvezavanje comboboxa, odabir stavki u jednom comboboxu,filtrira stavke drugog -mora prvo da se isprazni
void osveziReci() {
jComboBox1.removeAllItems();
for(Rec r:kontroler.Kontroler.getInstance().vratiReci())
{
jComboBox1.addItem(r);
}
jComboBox1.setSelectedIndex(-1);
}
na prvoj formi su mi reci u komboboxu. na drugoj formi unosim novu rec.
dodavanje nove reci okida: prva.osvezi-> kombobox.add(rec)
SORTIRANJE
*sortiranje Enuma Tip
Tip[]niz=Tip.values();
Arrays.sort(niz, Comparator.comparing(Tip::name));
*sortiranje liste
L .sort( Comparator.comparing ((Angazovanje a)->a.getProf()). thenComparing (a->a.getPred())). collect(Collectors.toList())
TABELA
*osvezavanje tabele
m.firetableDataChanged()
*validiraj unos stringa u tabelu sa ==null
*dodavanje praznog reda, koje je moguce izmeniti koa da je redovni profesor
u model tabele->iscelleditable-> ako getzvanje==null
*omoguci izmenu podataka u tabeli
modeltabele-> isCellEditable()
*moguc izbor samo jednog reda
properties->selection mode-> single
*uredjenje svojstva redova I kolona I kolona u tabeli bez ModelaTabele
desni klik tabela->contents
*po kliku na tabelu
jtable->events->mouse->mousepressed
*vracanje odabranog polja na tabeli
jtable.getselectedrow, jtable.getselectedcolumn
*lepsi odabir celija u tabeli
jtable-> properies->CellSelectionEnabled
*dodaj istoriju do poslednjeg pokusaja u tabelu
dodajes sve u listu koja je na formi, a listu modela tabele clearujes I postavljas sve SEM poslednjeg el
*dodavanje redova na tabelu bez klase ModelTabele
((DefaultTableModel)jTable1.getModel()).setRowCount(istorija.size()-1);
for(int i=0;i<istorija.size()-1;i++)
{
jTable1.getModel().setValueAt(istorija.get(i), i, 0);
}
*cuvanje I provera unesenih izmena
model tabele->
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
Prof p=profesori.get(rowIndex);
switch (columnIndex) {
case 0:
try {
p.setRb(Integer.valueOf(aValue.toString()) );}
catch (Exception e) {
}
break;
case 1:
p.setIme(aValue.toString());
break;
case 2:
p.setPrez(aValue.toString());
break;
case 3:
p.setZvanje(Zvanje.valueOf(aValue.toString()));
break;
case 4:
p.setStatus(Status.valueOf(aValue.toString()));
break;
}
*ako hoces da tabela ima jcheckbox kolonu, ne mora da se dodaje CellEditor, nego je dovoljno u klasi modela ubaciti getcolumn class
@Override
public Class<?> getColumnClass(int columnIndex) {
if(columnIndex==6)return Boolean.class;
return String.class;
}
* ako pritisne enter -
na konzoli
if (input.isEmpty())
private void jTable1KeyPressed(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==KeyEvent.VK_ENTER)

SQL
UPDATE
tabela
SET
k1=vr, k2=vr
WHERE..
DELETE FROM
tabela
CREATE DATABASE
baza
INSERT INTO
tabela ()
VALUES (,..,),
CREATE TABLE
tabela
(
ID INTEGER PRIMARY KEY NOT NULL AUTO_iNCREMENT,
FK INTEGER
FOREIGN KEY (FK) REFERENCES tabela2(pk)
)
*posle svakog update mora da se uradi konekcija.commit
*...limit 5 offset 5 u sqlu. BIRA MAX 5 OFFSET JE ODLAGANJE OD POCETKA
*SELECT
EXTRACT(YEAR FROM order_date) AS order_year,
EXTRACT(MONTH FROM order_date) AS order_month,
EXTRACT(DAY FROM order_date) AS order_day
*date_1 BETWEEN date_2 AND date_3
Potential Confusion of the Inclusive Boundaries: Since the BETWEEN operator includes the specified values as upper and lower bounds, it
could lead to confusion or unexpected results if used incorrectly.
*rucno dobijanje id-ja pri ubacivanju
select case when max(id) is null then 1 else max(id)+1 end as id from glupo
-ako nema stavki vraca 1, inace funkcionise kao auto_increment pk, vraca najveci id+1
*select date(timestamp)
*formatiranje datuma -> vraca string
DATE_FORMAT(DATE(s.DatumVremeOd),"%d.%m.%Y.")
*SUM(CASE WHEN rs.Status!='Nije_prezentovan' THEN 1 ELSE 0 END)
*SUBSTRING(string, 1, 5)-sql
*
GROUP_CONCAT(
[distinct]
kol1, kol2, kol3 … separator “;”)
- ako imas group by po bilo kojoj koloni, one koje su grupisane mogu se spojiti
u jedno polje
*
CONCAT_WS (“;”, kol1, kol2, kol3… )-
> Iz roka vremenska prognoza
REGEX
*string regex
string.matches("[a-zA-Z]+") , +(1,m), *(0,m)
*String ima SLOVAI BROJEVE
for(Character c:pass.toCharArray())
{
if(Character.isLetter(c))imaslovo=true;
else if(Character.isDigit(c))imabroj=true;
else imaostalo=true;
}
if(imabroj && imaslovo && !imaostalo)
*String ima samo slova
l.matches("[a-zA-Z]+")
*String ima cifre,slova I sve ostalo
l.matches(".*[a-zA-Z].*") && l.matches(".*[0-9].*")
*regex paterne mozes videti u dokumentaciji za matches preko hiperlinka na dnu
.* any text pocetak
. a period
.* any text
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti